Browse the docs

Agent setup guide

Carrier Packet Checker

Checks each new carrier setup against FMCSA public data and your blocked list, and flags problems to Slack.

Available About 20 min to set up

What it does

Checks each new carrier setup against FMCSA public data and your blocked list, and flags problems to Slack.

  • Starts on each new row in your carrier setup sheet (e.g. your carrier packet Google Form's response sheet).
  • AI reads the USDOT / MC number, name and contact details; submissions without a number are flagged to Slack right away.
  • Looks the carrier up on FMCSA's public QCMobile API: legal name, operating status, out-of-service, authority, insurance on file and safety rating.
  • Reads your blocked carriers tab and checks for matching DOT / MC numbers, phones, emails or domains, plus name mismatches and your own requirements.
  • Flagged or blocked carriers are posted to your carrier ops channel with each issue and the FMCSA value; clear ones are recorded in the run history.

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, and an HTTP / Custom API connection to FMCSA.
  • A free FMCSA QCMobile web key, saved encrypted on the FMCSA connection (API key in the webKey query parameter).

What it doesn't do

  • It's a one-time check per setup row, not ongoing monitoring like Highway, RMIS or Carrier Assure.
  • It uses FMCSA's public data only: it doesn't read insurance certificates, W-9s or other uploaded documents, or verify bank details.
  • It never approves or rejects a carrier: ops decides on every flag.
  • It doesn't write the result back to your sheet or TMS.

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 20 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 your carrier setup sheet and blocked list.

3. Connect FMCSA (HTTP / Custom API)

Get a free FMCSA web key at mobile.fmcsa.dot.gov/QCDevsite. Then in Settings → Integrations → HTTP / Custom API add a connection named FMCSA: base URL https://mobile.fmcsa.dot.gov/qc/services, authentication “API key in a query parameter”, parameter name webKey, and paste the web key as the API key.

4. Connect Slack

Connect the Slack workspace your carrier ops team uses.

5. Pick your carrier setup sheet

Open the trigger “New carrier setup row”, pick your Google account, paste the spreadsheet link and pick the tab.

SettingWhat to enterIn step
Google account (setup sheet)The Google account that can open your carrier setup sheet. Pick your connected Google Sheets account.“New carrier setup row”
Carrier setup spreadsheetPaste the link of the sheet that gets a row per carrier setup (e.g. your Google Form's response sheet).“New carrier setup row”
Carrier setup tabThe tab new submissions are added to, e.g. Form Responses 1.“New carrier setup row”

6. Pick the FMCSA connection

Open “Look the carrier up on FMCSA” and pick the FMCSA connection (the web key stays in the connection).

SettingWhat to enterIn step
FMCSA connection (HTTP / Custom API)An HTTP / Custom API connection with base URL https://mobile.fmcsa.dot.gov/qc/services and authentication “API key in a query parameter”: parameter name webKey, API key = your FMCSA web key (stored encrypted, hidden in run history). Pick your connected HTTP / Custom API account.“Look the carrier up on FMCSA”

7. Pick your blocked carriers list

Open “Read your blocked carriers list”, pick your Google account, the spreadsheet and the tab.

SettingWhat to enterIn step
Google account (blocked list)The Google account that can open your blocked carriers list. Pick your connected Google Sheets account.“Read your blocked carriers list”
Blocked carriers spreadsheetPaste the link of the sheet with your Do-Not-Use carriers (can be the same spreadsheet).“Read your blocked carriers list”
Blocked carriers tabA tab with columns such as Carrier, DOT, MC, Phone, Email, Reason.“Read your blocked carriers list”

8. Write your carrier requirements

Open “Check the carrier” and replace the placeholder with your minimums and red flags.

SettingWhat to enterIn step
Your carrier requirementsReplace the placeholder with your minimums: authority, auto liability and cargo insurance, safety rating, and any other red flags. It starts as “[DESCRIBE YOUR CARRIER REQUIREMENTS: AUTHORITY, INSURANCE MINIMUMS, SAFETY RATING, OTHER RED FLAGS]” until you replace it.“Check the carrier”

9. Pick the Slack channels

Open the two Slack steps and pick your account and carrier ops channel in each. Invite the app to private channels first (/invite @Fluxo Flow).

SettingWhat to enterIn step
Slack account (no-number alerts)The Slack workspace for submissions without a DOT / MC number. Pick your connected Slack account.“Tell ops it can't be checked”
Channel for no-number alertsUsually your carrier ops channel.“Tell ops it can't be checked”
Slack account (flags)The Slack workspace flagged carriers are posted to. Pick your connected Slack account.“Flag it to carrier ops in Slack”
Channel for flagged carriersYour carrier ops / compliance channel, e.g. #carrier-setup.“Flag it to carrier ops in Slack”

10. Test it with Dry Run

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

11. Switch the trigger on

Open the trigger and press “Activate app trigger”: from then on each new setup row is checked.

How it works

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

  • New carrier setup row — Starts on “New row” in Google Sheets (an app event). Starts a run for each new row in your carrier setup sheet (e.g. the response sheet of your carrier packet Google Form).
  • Read the carrier's details — AI step (runs on your AI provider key). AI pulls the USDOT and MC numbers, legal name, contact, phone and email from the setup row and builds the FMCSA lookup.
  • DOT or MC number given? — Decision: picks the branch to follow. A submission with no USDOT or MC number can't be checked: ops is told right away. The rest are checked against FMCSA.
  • Tell ops it can't be checked — Slack: Post a message. Branch: No DOT / MC. Posts the submission to your carrier ops channel: no USDOT or MC number was given.
  • Flagged: no identifier — Kept in the run history. The run history keeps the submission.
  • Look the carrier up on FMCSA — HTTP / Custom API: Send a request. Branch: Check FMCSA. Calls FMCSA's public QCMobile API for the carrier's registration: legal name, operating status, out-of-service, authority and insurance on file. Your free web key is stored encrypted on the FMCSA connection and added to the request as the webKey parameter.
  • Read your blocked carriers list — Google Sheets: Read rows. Reads your Do-Not-Use tab (blocked carriers with DOT / MC numbers, names, phones or emails).
  • Check the carrier — AI step (runs on your AI provider key). AI compares the submission with the FMCSA record and your blocked list: operating status, out-of-service, authority, insurance on file, name mismatches and blocked matches, against your requirements.
  • Anything to flag? — Decision: picks the branch to follow. Flagged or blocked carriers go to ops in Slack; clear ones are recorded in the run history.
  • Clear — Kept in the run history. Branch: Clear. The run history keeps the FMCSA record and the checks for your onboarding file.
  • Flag it to carrier ops in Slack — Slack: Post a message. Branch: Flag or block. Posts the carrier, the verdict and each issue with the FMCSA value to your carrier ops channel for a person to decide.
  • Flagged to ops — Kept in the run history. The run history keeps the submission, the FMCSA record and the issues.

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.Timestamp, row.Carrier legal name, row.USDOT number, row.MC number, row.Contact name, row.Phone, row.Email, row.Equipment, row.W-9 attached, 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.

Go live

  • Open the trigger and press “Activate app trigger”: from then on each new setup row is checked.
  • 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

Where do I get an FMCSA web key?

It's free: sign in at mobile.fmcsa.dot.gov/QCDevsite with Login.gov and create a web key.

Does it keep monitoring carriers after onboarding?

No. It's a one-time check per setup row, not ongoing monitoring like Highway or RMIS.

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 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 .