Browse the docs

Agent setup guide

Open Recall Checker

Checks every customer vehicle against NHTSA's public recall list, alerts your advisor and drafts a plain-words heads-up for approval.

Available About 25 min to set up

What it does

Checks every customer vehicle against NHTSA's public recall list, alerts your advisor and drafts a plain-words heads-up for approval.

  • Starts from each new row in your repair-order or customer-vehicles sheet (name, email, VIN). For a one-off sweep of past customers, paste them into the sheet.
  • AI checks the VIN; missing or impossible VINs go to your advisors' Slack channel to check by hand.
  • Decodes the VIN to make, model and year with NHTSA's free vPIC API, then lists the recall campaigns NHTSA has for that vehicle with its free Recalls API.
  • AI explains each campaign in plain words — component, risk and remedy — and flags NHTSA “do not drive” and “park outside” advisories.
  • Alerts your service advisor in Slack with every campaign; the customer heads-up email (recalls that “may apply”, with the nhtsa.gov VIN lookup link) waits for the advisor's approval.
  • After sending, or when nothing is listed, marks the row with the result, the date and the campaign numbers so it isn't checked again.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • Google Sheets and Slack, connected in Settings → Integrations.
  • Two HTTP / Custom API connections with no key: https://vpic.nhtsa.dot.gov/api and https://api.nhtsa.gov (free public NHTSA APIs).
  • A sheet with the customer's name, email and VIN per vehicle, and empty status columns.

What it doesn't do

  • NHTSA's public API lists recalls for the make, model and year, not for this VIN, and doesn't show whether the repair is already done — so the email says the recall “may apply” and points to the VIN lookup on nhtsa.gov. Your advisor confirms the VIN before approving.
  • US vehicles only (NHTSA data). Models named differently in NHTSA's recall database may return no campaigns.
  • It doesn't perform recall work, book dealer appointments or claim dealer reimbursement; recall repairs are done free by an authorized dealer.
  • Nothing is emailed to a customer without the advisor's approval. Rows already in the sheet before activation aren't processed.

Availability and plans

Available

Its workflow is built and tested, and every app it needs is live. You can get it and set it up now.

Included free on the Enterprise plan; on other paid plans it's a one-time purchase per workspace (the price is on the Agents page). The Agents page in the app always shows its current status.

Before you start

  • A paid plan: agents run live, and the Free plan only runs Dry Runs.
  • An AI provider key (OpenAI, Anthropic, Google and more) in Settings → AI Providers. AI usage is billed by your provider.
  • These apps, connected in Settings → Integrations: Google Sheets, HTTP / Custom API and Slack.
  • The app it watches, connected in Settings → Integrations (the agent starts from an app event).
  • About 25 minutes.

Set it up step by step

Get the agent first (buy it, or it's already yours when your plan includes it), then in Agents → My agents press “Set up this agent”. That creates the agent's workflow in your workspace (it counts towards your plan's workflow limit) and opens the canvas with a setup checklist above it. Each item links to the exact place to go and ticks itself off when it's done.

1. Connect your AI provider

The AI steps run on your own key (OpenAI, Anthropic, Google and more). Add one in Settings → AI Providers.

2. Connect Google Sheets

Connect the Google account that can open and edit your vehicles sheet (Settings → Integrations → Google Sheets).

3. Connect NHTSA (two HTTP / Custom API connections)

In Settings → Integrations → HTTP / Custom API add two connections, both with authentication “None” (the APIs are free and need no key): “NHTSA vPIC” with base URL https://vpic.nhtsa.dot.gov/api, and “NHTSA Recalls” with base URL https://api.nhtsa.gov. Two connections are needed because the hosts differ. Both are public US government APIs; see nhtsa.gov for their terms.

4. Connect Slack

Connect the Slack workspace your service advisors use (Settings → Integrations → Slack).

5. Pick your vehicles sheet

Open the trigger, pick your Google account, paste the spreadsheet link and the tab new vehicles are added to.

SettingWhat to enterIn step
Google account (vehicles sheet)The Google account that can open your repair-order or customer-vehicles sheet. Pick your connected Google Sheets account.“New vehicle in your sheet”
Vehicles spreadsheetPaste the link of the spreadsheet with your vehicles (the trigger watches it for new rows).“New vehicle in your sheet”
Vehicles tabThe tab new vehicles are added to, one row per vehicle with name, email and VIN, e.g. “Repair orders”.“New vehicle in your sheet”

6. Pick the NHTSA connections

Open “Decode the VIN (NHTSA vPIC)” and pick the vPIC connection, then “List recalls (NHTSA Recalls API)” and pick the Recalls connection.

SettingWhat to enterIn step
NHTSA vPIC connection (HTTP / Custom API)An HTTP / Custom API connection with base URL https://vpic.nhtsa.dot.gov/api and authentication “None”. Pick your connected HTTP / Custom API account.“Decode the VIN (NHTSA vPIC)”
NHTSA Recalls connection (HTTP / Custom API)An HTTP / Custom API connection with base URL https://api.nhtsa.gov and authentication “None”. Pick your connected HTTP / Custom API account.“List recalls (NHTSA Recalls API)”

7. Describe your shop

Open “Explain the recalls” and replace the placeholder with your shop name, phone, booking link, how you help with recalls and your sign-off.

SettingWhat to enterIn step
Your shop detailsReplace the placeholder with your shop name, phone, booking link, whether (and how) you help customers arrange recall repairs at a dealer, and your sign-off. It starts as “[PASTE YOUR SHOP NAME, PHONE, BOOKING LINK, WHETHER YOU HELP CUSTOMERS ARRANGE RECALL REPAIRS AT A DEALER (AND HOW), AND YOUR SIGN-OFF HERE]” until you replace it.“Explain the recalls”

8. Pick the advisors' channel

Open “Ask the advisor to check by hand” and “Alert the service advisor” and pick your account and channel in each. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack account (check by hand)The Slack workspace your service advisors use. Pick your connected Slack account.“Ask the advisor to check by hand”
Advisors' channel (check by hand)Where rows with a missing or undecodable VIN are posted, e.g. #service-desk.“Ask the advisor to check by hand”
Slack account (recall alerts)The same Slack workspace, for recall alerts. Pick your connected Slack account.“Alert the service advisor”
Advisors' channel (recall alerts)Where recall alerts are posted, usually the same channel, e.g. #service-desk.“Alert the service advisor”

9. Add your service desk inbox

Open “Email the customer” and enter the address customers' replies should go to.

SettingWhat to enterIn step
Your service desk inbox (Reply-to)Customers' replies to the heads-up come back to this address.“Email the customer”

10. Pick where rows are marked

Open “Mark the row checked”, pick the same account, spreadsheet and tab as the trigger, and enter the letter of your first empty status column.

SettingWhat to enterIn step
Google account (mark rows)The same Google account, used to mark each checked row. Pick your connected Google Sheets account.“Mark the row checked”
Vehicles (same one) spreadsheetPaste the same spreadsheet link again, so checked rows are marked in place.“Mark the row checked”
Vehicles (same one) tabThe same tab name as on the trigger.“Mark the row checked”
Status column letterThe letter of your first empty column for the agent (status); the date and campaign numbers go in the two columns to its right, e.g. H.“Mark the row checked”

11. Test it with Dry Run

Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.

12. Switch the trigger on

Open the trigger and click “Activate app trigger”. New rows are picked up on your plan's schedule interval; rows already in the sheet aren't processed.

How it works

The agent is a normal workflow with 17 steps (2 AI steps, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.

  • New vehicle in your sheet — Starts on “New row” in Google Sheets (an app event). Starts a run for each row added to your repair-order or customer-vehicles sheet (name, email, VIN), checked on your plan's schedule interval.
  • Check the VIN and contact — AI step (runs on your AI provider key). AI reads the row, cleans up the VIN (17 characters, no I, O or Q) and picks out the customer's name and email. A missing or impossible VIN goes to your advisor to check by hand.
  • VIN usable? — Decision: picks the branch to follow. A missing or impossible VIN can't be looked up: your advisor is asked to check it by hand. The rest are decoded by NHTSA.
  • Decode the VIN (NHTSA vPIC) — HTTP / Custom API: Send a request. Branch: VIN ok. Calls NHTSA's free vPIC API (vpic.nhtsa.dot.gov) to decode the VIN into make, model and model year. No key is needed.
  • Decoded? — Decision: picks the branch to follow. When NHTSA can't decode the VIN into a make, your advisor is asked to check it by hand; otherwise the recall list is fetched.
  • Ask the advisor to check by hand — Slack: Post a message. Branch: VIN missing or invalid / Not decoded. Posts the row to your service advisors' Slack channel: the VIN is missing, invalid or couldn't be decoded, so the recall check needs a person.
  • Sent to an advisor — Kept in the run history. The run history keeps the row and why it couldn't be checked automatically.
  • List recalls (NHTSA Recalls API) — HTTP / Custom API: Send a request. Branch: Decoded. Calls NHTSA's free Recalls API (api.nhtsa.gov) for the recall campaigns listed for that make, model and model year. No key is needed.
  • Explain the recalls — AI step (runs on your AI provider key). AI explains each campaign in plain words (component, risk, remedy), flags “do not drive” and “park outside” campaigns, and drafts the advisor's Slack alert and the customer's heads-up email — always as recalls that “may apply”.
  • Recalls listed? — Decision: picks the branch to follow. No recalls: the row is marked checked. Recalls listed: your advisor is alerted in Slack and, when there's an email address, the heads-up email waits for approval.
  • Alert the service advisor — Slack: Post a message. Branch: Recalls, no email / Recalls listed. Posts the vehicle, the customer and every campaign (with “do not drive” and “park outside” flags) to your advisors' Slack channel.
  • Advisor alerted — Kept in the run history. The run history keeps the alert that was posted.
  • Approve the customer heads-up — A person approves or rejects it in Reviews (the run waits). Branch: Recalls listed. The service advisor confirms the VIN on nhtsa.gov, edits the heads-up email if needed and approves; nothing is sent before that.
  • Not emailed — Kept in the run history. Branch: Doesn't apply. The advisor rejected the heads-up (the recall doesn't apply or was already done). The Slack alert stays.
  • Email the customer — Sends an email from your workspace's sender. Branch: Approved. Sends the approved heads-up from your workspace's sender, with replies going to your service desk.
  • Mark the row checked — Google Sheets: Update a row. Branch: None listed. Writes the result (“Recall check: none listed” or “Recall heads-up emailed”), the date and the campaign numbers into the row, starting at your status column.
  • Row marked — Kept in the run history. The row shows the recall check result and date.

Test it with Dry Run

Press Dry Run in the canvas. The agent runs on the sample data stored on its trigger (the “Sample data for Dry Run” box), so you can check every step's output before anything is live. The sample has the same shape as a real event from the app.

Sample data fields

row._row, row.Date, row.RO #, row.Customer, row.Email, row.Phone, row.Vehicle, row.VIN, row.Mileage, row_number, sample_note.

  • Nothing is sent or written: app actions, emails and Slack posts are simulated, and AI steps don't call your AI provider.
  • Approval steps use the Dry Run decision you pick in the step's settings (approved, rejected or timeout), so you can try each branch.

Go live

  • Open the trigger and click “Activate app trigger”. New rows are picked up on your plan's schedule interval; rows already in the sheet aren't processed.
  • Activating the app trigger needs the trigger's connected account. The first check only remembers what's already there, so older items don't start runs; the same item never starts two runs.
  • The setup checklist adds a “paid plan” item before activation: live runs need a paid plan (the Free plan only runs Dry Runs).
  • When every checklist item is done and the trigger is on, the checklist says “Live — this agent is running”. Follow its runs in the workflow's History tab and in Analytics → Agents.

Questions

Does it know whether this exact car is affected?

No. NHTSA's public recall API lists campaigns by make, model and model year, not by VIN, and doesn't show whether the repair was done. The email says the recalls “may apply” and links the customer to the VIN lookup on nhtsa.gov; your advisor confirms the VIN before approving.

What should the sheet have?

One row per vehicle with the customer's name, email and the 17-character VIN, plus two or three empty columns at the end for the agent (status, date, campaigns). Column names can vary. For a one-off sweep of past customers, paste them into the sheet.

Does it cost anything to use NHTSA?

No. vPIC and the Recalls API are free public US government APIs with no key. Each host is its own HTTP / Custom API connection with authentication “None”.

Troubleshooting

  • “No AI provider connected” or a rejected key: connect or fix the key in Settings → AI Providers, then press Test there.
  • A checklist item stays unticked: the setting is still empty or still contains its placeholder text. Open the step from the checklist and fill it in.
  • An app step fails with “Needs reconnect”: the account's access was revoked or expired. Reconnect it in Settings → Integrations.
  • Slack says the app isn't in the channel: in Slack, type /invite @Fluxo Flow in that channel (always needed for private channels).
  • No runs start: activate the app trigger with a connected account. Only items created after activation start runs.
  • A run shows as paused: it's waiting for someone in Reviews to approve or reject it.
  • A step failed: open the run in History and check that step in the Trace tab for the error and what it received.

Generated from the agent's own workflow, so it always matches what the agent does. Last updated .