Agent setup guide
NEMT Claims Prep & Eligibility Check
Checks every completed trip against your billing rules before it's billed.
What it does
Checks every completed trip against your billing rules before it's billed.
- Receives each completed trip with its billing details from your trip system, a form or a Sheets automation through a webhook.
- AI checks it against the broker and state billing rules you paste in: required fields, eligibility check date, prior authorization, codes and modifiers, mileage, times, signatures and the filing window.
- Dates are worked out in code, never by the AI: the days since the date of service against your filing limit (90 days by default), and the eligibility-check date read as an exact date.
- Trips with errors are posted to your billing channel in Slack with each problem and the exact fix, using trip ids only (no member details).
- Clean trips are prepared as a claim line. A biller reviews it in Reviews and, once approved, it's added to your ready-to-bill Google Sheet.
- Every check is kept in the run history and in Agent analytics.
What it needs
- A paid plan (agents run live on paid plans).
- An AI provider key (Settings → AI Providers). Check that your AI provider agreement covers health data (many offer a BAA).
- Slack and Google Sheets, connected in Settings → Integrations.
- A trip system, form or sheet automation that can send completed trips to a webhook URL.
What it doesn't do
- It doesn't query Medicaid or broker eligibility systems (no 270/271 or clearinghouse connection); it checks the eligibility record your team saved on the trip.
- It doesn't submit claims, upload to broker portals or track claim status and payments; your biller submits from the ready-to-bill sheet.
- It never makes up codes, mileage or authorization numbers; missing data is flagged for a person to fix.
- It's a pre-billing check, not billing or compliance advice.
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: Slack and Google Sheets.
- A form, app or system that can send each new item to a webhook URL (the agent starts from a webhook).
- 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 Slack
Connect the Slack workspace your billing team uses (Settings → Integrations → Slack).
3. Connect Google Sheets
Connect the Google account that owns your ready-to-bill sheet (Settings → Integrations → Google Sheets).
4. Paste your billing rules
Open “Check the claim against your billing rules” and replace the placeholder with each broker's rules. The agent checks only what's written there. Set your filing limit on “Check the trip dates” (90 days by default).
| Setting | What to enter | In step |
|---|---|---|
| Your broker and state billing rules | Replace the placeholder with each broker's required fields, codes and modifiers per level of service, mileage rounding and caps, prior-auth rules, signature rules, eligibility re-check window and rates. The filing limit (90 days) is set in “Check the trip dates”. It starts as “[PASTE YOUR BROKER AND STATE BILLING RULES HERE]” until you replace it. | “Check the claim against your billing rules” |
5. Pick the billing channel
Open “Ask billing to fix the trip in Slack” and pick your account and channel. Invite the app to private channels first (/invite @Fluxo Flow).
| Setting | What to enter | In step |
|---|---|---|
| Slack account | The Slack workspace your billing team uses. Pick your connected Slack account. | “Ask billing to fix the trip in Slack” |
| Billing channel | The channel where trips that need a fix are posted, e.g. #billing. | “Ask billing to fix the trip in Slack” |
6. Pick the ready-to-bill sheet
Open “Add the claim to your ready-to-bill sheet”, pick your Google account, paste the spreadsheet link and pick the tab.
| Setting | What to enter | In step |
|---|---|---|
| Google account | The Google account that can edit your ready-to-bill sheet. Pick your connected Google Sheets account. | “Add the claim to your ready-to-bill sheet” |
| Ready-to-bill sheet | Link to the spreadsheet approved claim lines are added to. Columns: date of service, trip id, broker, member id, prior auth, pickup, drop-off, loaded miles, codes, modifiers, amount, eligibility, note. | “Add the claim to your ready-to-bill sheet” |
| Ready-to-bill tab | The tab inside the spreadsheet, e.g. Ready to bill. | “Add the claim to your ready-to-bill sheet” |
7. Test it with Dry Run
Press Dry Run: the agent runs on sample data with no messages sent and nothing written to your apps.
8. Switch the trigger on
Open the trigger, switch the webhook on and have your trip system send each completed trip to its URL. Assign the review step to your biller.
How it works
The agent is a normal workflow with 8 steps (1 AI step, with a person approving in Reviews). You can open, edit and monitor it like any other workflow.
- Completed trip — Starts when your form or app sends data to the agent's webhook URL. Your trip or dispatch system (or a Google Sheets / form automation) posts each completed trip with its billing details to the workflow's webhook URL.
- Check the trip dates — Step. In code, not AI: works out the days since the date of service (filing window: 90 days by default, with a warning in the last 14), and reads the eligibility-check date as an exact date. Nothing is filtered out. Change the filing window here (the buckets' days).
- Check the claim against your billing rules — AI step (runs on your AI provider key). AI checks the trip's billing details against your broker and state rules: required fields, eligibility check date, prior authorization, codes and modifiers, mileage, times, signature and filing window.
- Ready or needs a fix? — Decision: picks the branch to follow. Claims with errors go to your billing channel to be fixed; clean claims go to a biller for approval.
- Ask billing to fix the trip in Slack — Slack: Post a message. Branch: Needs a fix. Posts the trip id and the list of errors (no member details) to your billing channel.
- Biller approves the claim line — A person approves or rejects it in Reviews (the run waits). Branch: Ready. A biller checks the prepared claim line and warnings in Reviews, edits anything needed and approves it to add it to your ready-to-bill sheet.
- Add the claim to your ready-to-bill sheet — Google Sheets: Add a row. Branch: Approved. Adds the approved claim line as a row in your Google Sheet, ready for your biller to upload or key into the broker portal.
- Held by the biller — Kept in the run history. Branch: Rejected. Rejected claims stay in the run history only.
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. Edit the sample to match the fields your own form or app sends.
Sample data fields
trip_id, broker, date_of_service, member_id, level_of_service, pickup_address, dropoff_address, pickup_time, dropoff_time, loaded_miles, procedure_codes, modifiers, prior_auth, eligibility_checked_on, eligibility_reference, driver_signature, driver.
- 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, switch the webhook on and have your trip system send each completed trip to its URL. Assign the review step to your biller.
- The webhook is protected by a secret: send it in the header shown in the Activation panel (requests without it are refused with 403). Each request starts one run.
- 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 check Medicaid eligibility?
It can't query the state system. It checks the eligibility date and reference your team recorded on the trip and flags trips that were never verified or were verified too long ago.
Does it submit claims?
No. It prepares a checked claim line in your Google Sheet; your biller submits it in the broker or state portal.
How is the filing window checked?
In code, not by the AI: “Check the trip dates” counts the days since the date of service — over 90 days is an error, the last 14 days a warning. Change the days on that step's buckets to match your broker's limit.
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).
- Nothing happens when your form sends data: check the webhook is switched on and the request carries the secret header (403 means it's missing or wrong).
- 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 .