Browse the docs

Agent setup guide

Check-Call Chaser

Every 2 hours, finds in-transit McLeod loads with no recent check call and texts the driver for an ETA once you approve.

Available About 30 min to set up

What it does

Every 2 hours, finds in-transit McLeod loads with no recent check call and texts the driver for an ETA once you approve.

  • Runs every 2 hours and searches McLeod for loads matching your in-transit filter (up to 50 per run).
  • Reads each load's most recent check calls (call-ins) in McLeod.
  • AI compares the last check call with your rules and the current time, picks the overdue loads, finds the driver or dispatcher's mobile number on the load and drafts a short location-and-ETA text for each, respecting your quiet hours.
  • A dispatcher approves, edits or removes texts in Reviews; each approved text is checked in code (a real phone number, at most 300 characters, no placeholders) and sent from your Twilio number. Loads with no number are listed for a manual call.
  • The summary is counted in code from what each step really did (sent, held, skipped, failed), so it never reports a held message as sent.
  • Every check, text and failure is kept in the run history.

What it needs

  • A paid plan (agents run live on paid plans).
  • An AI provider key (Settings → AI Providers).
  • McLeod API access (orders and call-ins) and a Twilio account with an SMS-enabled number.
  • Your in-transit filter and check-call rules.

What it doesn't do

  • Replies arrive in Twilio; they aren't written back into McLeod as check calls.
  • It doesn't use GPS, ELD or tracking-app data: only the check calls recorded in McLeod.
  • McLeod search filters and call-in fields vary by version: confirm the filter and call-in service with your McLeod admin.
  • It never texts without a person approving the batch. Texting consent and carrier messaging rules (A2P 10DLC) are your responsibility.
  • Whether a load is overdue is judged by the AI from your rules and the check-call times (hours, not calendar days), so the dispatcher's review matters.
  • Coming soon until McLeod and Twilio are approved.

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: McLeod (LoadMaster / PowerBroker) and Twilio.
  • Nothing to send: the agent runs on a schedule.
  • About 30 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 McLeod

Connect your McLeod server (web services URL + user or API token) in Settings → Integrations → McLeod. The user needs access to orders and call-ins.

3. Connect Twilio

Connect your Twilio account (Account SID + Auth Token or API key) in Settings → Integrations → Twilio.

4. Set the McLeod connection and in-transit filter

Open “Find in-transit loads in McLeod” and “Read the load's recent check calls”, pick your McLeod connection in each, and enter the filter that selects in-transit loads.

SettingWhat to enterIn step
McLeod connection (loads)The McLeod server to search for in-transit loads. Pick your connected McLeod (LoadMaster / PowerBroker) account.“Find in-transit loads in McLeod”
In-transit filterMcLeod search filters (JSON) that select in-transit loads, e.g. {"orders.status": "P"}. Status codes and fields vary by McLeod version: confirm with your McLeod admin.“Find in-transit loads in McLeod”
McLeod connection (check calls)The same McLeod server, used to read each load's check calls. Pick your connected McLeod (LoadMaster / PowerBroker) account.“Read the load's recent check calls”

5. Write your check-call rules

Open “Pick the overdue loads and draft the texts” and replace the placeholder with your rules, quiet hours, company name and callback number.

SettingWhat to enterIn step
Your check-call rulesReplace the placeholder with how often loads need a check call, quiet hours (no texts), your company name and callback number. It starts as “[DESCRIBE YOUR CHECK-CALL RULES: HOW OFTEN, QUIET HOURS, YOUR COMPANY NAME AND CALLBACK NUMBER]” until you replace it.“Pick the overdue loads and draft the texts”

6. Pick your Twilio number

Open “Text the driver or dispatcher”, pick your Twilio connection and the number to text from.

SettingWhat to enterIn step
Twilio connectionThe Twilio account the texts are sent from. Pick your connected Twilio account.“Text the driver or dispatcher”
Twilio number to text fromOne of your SMS-enabled Twilio numbers (E.164). Replies come back to this number.“Text the driver or dispatcher”

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, check the schedule and time zone, and switch it on. Assign the review step to your night and day dispatchers.

How it works

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

  • Every 2 hours — Runs on a schedule (cron 0 */2 * * *, America/Chicago — change it in the trigger's settings). Runs every 2 hours (change the schedule and time zone on the trigger).
  • Find in-transit loads in McLeod — McLeod (LoadMaster / PowerBroker): Search orders. Searches McLeod for orders matching your in-transit filter (e.g. status P), newest first, up to 50.
  • Each in-transit load — Repeats the steps below for each item (up to 50 per run). Repeats the check-call lookup for each load found (up to 50 per run).
  • [For each item — “Each in-transit load”] Read the load's recent check calls — McLeod (LoadMaster / PowerBroker): Send a McLeod API request. Reads the most recent check calls (call-ins) McLeod has for this order.
  • Pick the overdue loads and draft the texts — AI step (runs on your AI provider key). AI compares each load's last check call with your rules and today's time, picks the overdue ones, finds the driver or carrier dispatcher's phone on the load and drafts a short ETA request for each.
  • Any texts to send? — Decision: picks the branch to follow. When nothing is overdue (or no number was found) the run just records the check; otherwise the batch goes to review.
  • Nothing to send — Kept in the run history. Branch: Nothing to send. The run history keeps the check and any loads with no phone number.
  • Approve the batch of texts — A person approves or rejects it in Reviews (the run waits). Branch: Texts drafted. A dispatcher checks the drafted texts in Reviews, removes or edits any, and approves the batch to send.
  • Each approved text — Repeats the steps below for each item (up to 50 per run). Branch: Approved. Checks and sends the approved texts one by one (up to 50).
  • [For each item — “Each approved text”] Check before texting — Step. In code: a real phone number, a message of at most 300 characters and no placeholders left after editing. Anything that fails is held, with the reason.
  • [For each item — “Each approved text”] Text it? — Decision: picks the branch to follow. Texts that pass the check are sent; the rest are held and listed in the run summary.
  • [For each item — “Each approved text”] Held — Kept in the run history. Branch: Held. Stopped by the check (no valid phone, too long or a placeholder left); the reason is in the summary.
  • [For each item — “Each approved text”] Text the driver or dispatcher — Twilio: Send an SMS. Branch: Passes. Sends the approved text from your Twilio number.
  • Count what happened — Step. In code, not AI: lists every approved text as sent, held (with the reason) or failed, from what each step really did.
  • Texts sent — Kept in the run history. The run history keeps the count of texts sent, held and failed, per load.

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.

  • 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.
  • For-each loops repeat only the first 3 items.

Go live

  • Open the trigger, check the schedule and time zone, and switch it on. Assign the review step to your night and day dispatchers.
  • Scheduled runs start only once the schedule is activated, and can't repeat faster than your plan's minimum interval.
  • 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

Are the drivers' replies saved in McLeod?

No. Replies arrive in your Twilio number's inbox; enter the check call in McLeod as usual (or forward Twilio replies to your team).

Does it use GPS or ELD tracking?

No. It works from the check calls recorded in McLeod and asks the driver by text.

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.
  • It didn't run at the expected time: the schedule must be activated, and its time is in the trigger's timezone.
  • 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 .