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.
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.
| Setting | What to enter | In 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 spreadsheet | Paste the link of the spreadsheet with your vehicles (the trigger watches it for new rows). | “New vehicle in your sheet” |
| Vehicles tab | The 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.
| Setting | What to enter | In 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.
| Setting | What to enter | In step |
|---|---|---|
| Your shop details | Replace 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).
| Setting | What to enter | In 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.
| Setting | What to enter | In 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.
| Setting | What to enter | In 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) spreadsheet | Paste the same spreadsheet link again, so checked rows are marked in place. | “Mark the row checked” |
| Vehicles (same one) tab | The same tab name as on the trigger. | “Mark the row checked” |
| Status column letter | The 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 .