No category
How to test whether freight software actually follows up with carriers
Key Takeaways
Follow-up is proven across many loads and stages at once, not in a single staged silence. Run the test on several loads, over a test window your team chooses.
Seed silence deliberately: pick which loads and which stages will go unanswered, keep the seeding key away from the vendor, and let normal work run around it.
Check four behaviors on every seeded case: timing against your rule, the channel switch where configured, follow-up that stops when the carrier replies, and escalation with context.
Log every attempt per load and stage, then score from the shipment records rather than from memory or a presenter's account.
Wilson, by Cartage, follows up with customer-approved carriers by email, API, EDI where supported and phone calls where configured, and records each attempt in shipment history.
What does a follow-up test prove that a demo cannot?
A follow-up test proves that the software keeps chasing the right carrier, on the right load, at the right time, while many other conversations are running in parallel. A demo can only show that it is capable of one follow-up.
One staged silence answers a narrow question: does the second ask happen? That is worth checking, and making the demo prove the second ask covers it on a single load. But follow-up failures in production rarely look like a missing second email. They look like a quote request that was chased while the tender on the same lane was forgotten, a carrier called about a load it already confirmed in a different thread, or a POD request that went quiet because the delivery update arrived late.
Those failures appear only when several loads, several carriers and several stages overlap. A test protocol therefore needs volume, variety and a log. The buyer controls which silences happen, the software controls everything else, and the shipment records decide who was right.
Designing the test run
Build the test around your own loads, your own written rules and a seeding plan only your team knows.
Choose the loads. Use real or realistic shipments across the stages you care about: quote, tender, pickup confirmation, in-transit status and POD. Mix carriers, and include at least two loads with the same carrier so you can see whether follow-up stays per load.
Write the rule per stage. For each stage, write the first follow-up interval, the channel order, when a phone call is allowed if calling is configured, any quiet hours, and when silence goes to a person. Different stages usually need different rules: a quote can wait longer than an unconfirmed pickup.
Arrange the carrier side. Use carrier contacts your team controls, or approved carriers who agree to take part and follow a script.
Seed the silences. Decide in a private key which load stays silent at which stage, and what happens next.
Run it inside normal work. Let the test window cover every seeded stage. Its length is your choice; what matters is that each load reaches the point where your rule says a person should decide.
Score from the records. At the end, fill the log from each shipment's history, then compare it with your seeding key.
What to seed, and why each pattern matters
Each seeded pattern targets one follow-up behavior, so vary the patterns rather than repeating the same silence.
Total silence through escalation. Tests timing, channel switching and whether escalation arrives with the attempt history.
Reply after the first follow-up. Tests that the queued call or next email is cancelled once the carrier answers.
Reply in a different thread or from a different person. Tests that the answer is matched to the right load and stops the chase. A reply that lands nowhere means follow-up continues to a carrier who already answered.
Auto-reply or out-of-office. Should count as no answer. The sequence should continue.
Partial answer. “Working on it” should be recorded without closing the request.
Two loads, same carrier, one answered. Tests that answering load A doesn't silence follow-up on load B.
Decline after silence. On a tender, tests whether the next tender goes only to another approved carrier within your rules, or escalates when no acceptable approved option exists.
Keep a few loads unseeded. Carriers who answer normally show whether the software creates noise by chasing replies it has already received. For deciding which channel each stage should start on, see email, phone or API: which carrier follow-up should run first.
How to score the results
Score each seeded case as pass, fail or configuration gap, and treat any action by vendor staff during the window as a manual step.
Pass: every attempt matches the rule's timing and channel order, follow-up stops on a usable reply, the reply updates the shipment, and escalation reaches the named person with the request, the attempts and the decision needed.
Fail: a follow-up is missing, duplicated or sent after the carrier answered; a reply lands on the wrong load; an escalation arrives without history; or a load moves to a carrier your company hasn't approved.
Configuration gap: the behavior works but depends on a setting that wasn't in place, such as calling not yet enabled. Record the setting and who on your side owns it, then rerun that case.
Three failure types should weigh more than the rest: chasing a carrier who already answered, losing a reply, and any unapproved carrier. Decide your tolerance for the others before the window starts, so the scoring isn't negotiated after the results are in.
A follow-up test log template
Fill one row per seeded case, from the shipment history, before you open the seeding key. The rows below are illustrative.
Load / stage | Seeded behavior | Rule (interval, channels) | Attempts logged (time, channel) | Stopped on reply? | Escalation (time, to whom, context) | Record correct? | Result |
|---|---|---|---|---|---|---|---|
L-101 / quote | Silent to the end | 2 emails, then escalate | Email, email | n/a | Sent to buyer with both attempts | Yes | Pass |
L-102 / tender | Replied after 1st follow-up | Email, email, call | Email, email | Yes, call cancelled | None needed | Accept and rate set | Pass |
L-103 / pickup | Reply from dispatch in new thread | Email, call | Email, call | No, called after reply | None | Reply not on load | Fail |
L-104 / in transit | Auto-reply only | Email, call | Email, call, escalation | n/a | Ops lead, history attached | Yes | Pass |
L-105 / POD | Partial answer | Email, email, call | Email, email | Request left open | None; call step not configured | Partial noted | Gap |
L-106 / pickup | Same carrier as L-103, answered normally | Yes | None | Yes | Pass |
Under the table, add a summary: seeded cases, passes, fails by type, configuration gaps with owners, and the count of vendor-side actions during the window.
How Wilson, by Cartage, holds up under a follow-up test
Wilson, by Cartage, is an AI logistics agent that follows up with carriers under the company's rules and keeps each request open until there is a usable answer or a person decides. Traditional logistics software gives teams information. Wilson executes the work required to move shipments forward.
Channels: Wilson reaches carriers by email, API, EDI where supported and phone calls where configured, and updates the team in Slack, Microsoft Teams, email or SMS.
Record: messages, confirmations and changes are recorded in each shipment's history, so the log above can be filled from the shipment rather than from memory.
Tracking stage: Wilson checks the best available source for each load, such as a carrier API, GPS or ELD data where available, or the carrier website by PRO number, and contacts the carrier by email or phone when those sources don't answer.
Carrier boundary: Wilson tenders to customer-approved carriers only. On a decline or no response, it follows the configured workflow, moves to another approved carrier where the rules allow, and escalates when no acceptable approved option exists.
Control: Wilson starts with assisted execution, the company sets approval boundaries, and scope expands step by step. Most teams start on a few lanes and expand from there, which gives a natural place to run this test. The central explanation of an AI logistics agent covers the full quote-to-pay scope.
Bring a handful of open loads at different stages and your written follow-up rule for each, and see how Wilson would work through the seeded silences and fill the log.
Sources
Cartage, Wilson product FAQ and product scope, October 2026: https://cartage.ai
Other latest news and success stories

January 25, 2022
Best AI Tools for Carrier Follow-Up in 2026
Read more →

January 25, 2022
Best Bill of Lading (BOL) Software for Manufacturers in 2026
Read more →
