Load Posting Internals: Boards, Reposts, Failures
How Tai TMS load posting works per board: action choice, repost behavior, the newer DAT path, reference numbers, auth quirks, and failure isolation.
This staff-facing article explains how the Tai TMS load-posting integrations work under the hood — which boards actually post, how a posting's action is chosen, why a "repost" behaves differently on each board (some update in place, most delete and then post, one only deletes), the separate newer DAT posting path, how each board's reference number is derived, per-board authentication quirks, and how a failure on one board is isolated from the others.
Overview
In the Tai TMS, most load boards are a self-contained connector that translates an internal posting into that board's request format, authenticates, and performs post / update / remove operations. A background posting job selects the right connector for each board and runs it. Three cases do not follow that pattern: DAT accounts on the newer DAT connection are driven by a separate set of jobs, DAT Convoy Marketplace has its own marketplace sync, and Trucker Tools is triggered by shipment status changes. This article documents what support needs when diagnosing why a load did or did not post, refresh, or come down. The differences between boards matter most for reposts and removals, because "repost" is not one operation across boards.
How it works
How an action is chosen
Every posting record carries a status (ready to post immediately, repost on schedule, remove posting, closed, or error posting), an expiration date, and an optional repost frequency in minutes. On each run the job derives one action per posting:
- Expired (expiration date earlier than today, UTC) → remove.
- Ready to post immediately → post if the load has never been posted; otherwise repost.
- Repost on schedule → post if never posted; otherwise repost once the repost frequency has elapsed since the last posting date. With no repost frequency set, a live posting is never reposted automatically.
- Remove posting → remove if it was ever posted. A posting in this status that was never posted is simply marked closed without contacting the board.
- Anything else → ignored.
Each connector reads the shipment context (lane, stops, equipment, hazmat, team-service, and the offer rate) and produces a per-load result carrying the board's reference number, an error flag and message, and the captured request/response for the activity log.
Run order and cadence
- Scheduled batches. In production the posting batches run every five minutes: one each for DAT (classic connection), 10-4, Load Board Network, 123 Loadboard, Motive, and External Load Board, plus a per-account job for Truckstop. Other environments run most of them hourly. Accounts whose connection is flagged with an authentication-error state are not picked up by these scheduled runs.
- Within a run, removals go first, then posts. A posting whose action is "remove" or "repost" is handed to the board's removal step, and a posting whose action is "post" or "repost" is handed to the board's posting step, with removals processed before posts. So a repost is handed to both steps.
- Trucker Tools is not in the scheduled batches. See the Trucker Tools note under the boards list.
How results are applied
- Post result. An error puts the posting in the error-posting status. A success sets it to repost-on-schedule, stamps the current posting date, and stores the board's reference number when one came back.
- Removal result. An error closes the posting. A success clears the stored reference number. Separately, any removal result that the board tags as a removal also closes the posting. Truckstop, 123 Loadboard, Motive, Load Board Network, and External Load Board tag their results (123 Loadboard and Load Board Network also on error). DAT classic tags only its exception result, and 10-4 and Trucker Tools never tag.
- Consequence for delete-then-post boards. A successful removal followed by a successful post leaves the posting on repost-on-schedule with a fresh reference. If the removal succeeds but the follow-up post fails, the advertisement is gone from the board and the posting shows an error.
Repost behavior by board
The dedicated repost entry point exists on every connector but does nothing and returns an empty list on all of them. The only repost handling is in the removal and posting steps, chosen by the posting's action:
- Truckstop — one update. The posting step sends a create when the action is post or no reference is stored, and an update to the stored reference when the action is repost. The removal step acts only on removals, so a repost is a single update.
- External Load Board — one repost call. The posting step sends a repost-order call for any action other than post, and a create-order call for a post. The removal step acts only on removals.
- DAT (classic), 10-4, Trucker Tools, 123 Loadboard, Motive — delete, then post. Their removal steps do not check the action, and their posting steps always create. A repost therefore deletes, retracts, or cancels the old advertisement and then posts a new one. Motive skips the delete call when no reference number is stored.
- Load Board Network — delete only. Its posting step skips repost entries, while its removal step deletes every posting it is given and tags each result as a removal. A due repost therefore deletes the load and closes the posting instead of posting it again in that run. Whether closing the posting here is intended has not been confirmed. Separately, repost frequency and advertising duration are never saved for Load Board Network postings, so this arises when an already-posted load is resubmitted rather than from a schedule.
- DAT (newer connection) — refresh in place. See the DAT section below. It does not delete and re-post.
A removal on a board that does not tag its result (DAT classic success, 10-4, Trucker Tools) clears the stored reference but does not by itself close the posting. The posting stays in its removal status and is picked up as a removal again on a later run until a result closes it.
Supported boards (active)
- DAT — two separate posting paths exist (see the DAT section below). A DAT account is on exactly one of them.
- Truckstop
- 10-4
- Trucker Tools — its posting is not run by the scheduled batches. The Smart Capacity shipment-status trigger posts a load when the shipment reaches the configured status (Committed, or Quote when the account is set to submit quoted loads) for accounts with Smart Capacity turned on, cancels it when the shipment is canceled, and sends a covered status when a carrier is assigned. Trucker Tools accounts are also left out of the load-board picker on the posting screens. See the article on the Trucker Tools (Smart Capacity) integration for credentials and settings.
- 123 Loadboard
- Motive (formerly Keep Truckin)
- Load Board Network
- External Load Board — a generic, partner-configurable connector used for certain other boards.
- DAT Convoy Marketplace — offered as a postable board, but it is not one of the connectors above. A separate marketplace sync (every minute in production) adds or updates the load for post and repost actions in batches of 100, and for removals either cancels it (no carrier assigned, or the shipment is canceled) or marks it covered (carrier assigned). Shipment edits also push an update. Details are outside this article.
Present but not active, and listed but not postable
- DexFreight — the connector is fully disabled: its implementation is entirely commented out and it is not registered, so it never posts. DexFreight is no longer in the truckload sourcing type list at all. It survives only as a general integration source type, plus its data models, which can make it look integrated. Do not assume DexFreight posts anything.
- Truckload sourcing type list is wider than the postable boards. The sourcing type choices on integration setup include Parade, Triumph (also known internally as Greenscreens), FreightWaves, Cargo Chief, Macro Point Capacity, Highway TFX, and Truckstop - Book It Now. None of these has a load-posting connector in this area, and none is in the list of boards offered for load posting. Selecting one on integration setup does not make load posting possible there.
- What the posting screens offer. The list of boards offered for load posting is DAT, Truckstop, 10-4, Load Board Network, Trucker Tools, 123 Loadboard, Motive, External Load Board, and DAT Convoy Marketplace, and the posting screens then exclude Trucker Tools.
DAT: two posting paths plus quoting
- Classic connection (older, SOAP-based). This is the connector run by the scheduled DAT batch. It posts and deletes one load at a time and handles reposts as delete-then-post. It skips any DAT account whose connection setting named Version is set to REST.
- Newer connection (REST-based). DAT accounts with the Version setting set to REST, and not in an authentication-error state, are posted through a separate set of jobs, not through the scheduled DAT batch. A planner runs every minute in production (hourly elsewhere). It groups each account's live postings by the derived action, ignoring postings that expired more than a day ago, and queues an add job for posts, a delete job for removals, and a refresh job for reposts.
- Post creates the DAT posting and stores the DAT-assigned posting ID as the reference number. The poster reference sent to DAT is the shipment ID with its first digit dropped, and each comment is cut to 70 characters.
- Repost is a refresh of the existing DAT posting, not a delete and re-post. DAT's "cannot be refreshed at this time" conflict is ignored. If DAT reports that the posting ID no longer exists, the repost counts as "not found." After three consecutive not-found failures the posting is closed and its posting date is cleared, and until then it is retried on the next scheduled repost. Any other error, or a success, resets that count.
- Removal deletes by the stored DAT posting ID, and only postings that have a stored reference are sent. A successful removal clears the reference and posting date and closes the posting. A removal error also closes it.
- Live edits. When a shipment is updated, each such DAT account that has a live posting with a stored reference gets an in-place update scheduled, staggered 30 seconds per account. A second trigger on status updates covers truckload shipments that are still uncovered (no linehaul carrier, status no later than Committed) when weight, length, trailer size, pickup or delivery dates changed, or the edit was inline. Each live update writes an activity log entry and a private shipment activity entry.
- Pacing and auth. Posts, removals, and refreshes run one load at a time, each paced to at least 600 ms. Every call retries once with a refreshed access token after an authentication failure. If that still fails, a post or refresh load gets an error result, a removal is reported as an error without a shipment attached (so the posting itself is not updated and stays in its removal status), and a live-edit update is dropped silently.
- Quoting. The same newer DAT client also serves truckload quoting, rate lookup, and equipment search. These are not posting. DAT rating and DAT classic posting also share some DAT plumbing, but they are distinct capabilities, so a problem in one does not necessarily mean a problem in another.
Business rules & limits
Reference-number derivation (per board)
The reference number is the identity the TMS uses to update or delete a posting later, so delete logic must match how the post assigned it. Provenance is mixed across boards:
- DAT (classic) — derived on the TMS side from the shipment ID, capped to eight digits (the shipment ID reduced modulo one hundred million). The same value is the posting reference and the delete key, so post and delete are idempotent per shipment. Caveat: shipment IDs of 100,000,000 or more get truncated by the cap and could theoretically collide.
- DAT (newer connection) — the DAT-assigned posting ID returned by DAT, used for refresh, update, and delete.
- Truckstop — uses the board-assigned load ID returned in the post response as the stored reference; the shipment ID is sent as the load number. An empty load ID in the response is treated as an error.
- Motive — uses the board-assigned load ID from the response. On delete, the stored reference is split on a pipe character and only the portion before the pipe is used as the load ID, because the stored value can be composite.
- 123 Loadboard — uses the board-assigned reference from the response; a missing value triggers parsing the board's error message, and delete targets the load by that reference.
- 10-4, Trucker Tools, Load Board Network — the reference is derived on the TMS side as the shipment ID itself; the board maps results back by shipment ID. Trucker Tools only sets the reference when it is currently empty, to avoid overwriting an existing board-side user id.
Per-board authentication and retry
- DAT (classic) — logs in with the integration source credentials. A login failure fails all of that source's postings with a "check your integration source credentials" message. After a per-load apply, an "invalid session token" response triggers a forced re-login and one retry of that same apply; a failure during that re-login is swallowed and the first result stands.
- Truckstop — OAuth refresh-token flow. If both the access token and refresh token are blank it raises a customer-facing "check your integration source credentials" error. It returns the cached access token until its expiration, otherwise refreshes; the expiration is stored with a 60-second safety buffer. On a refresh failure it reloads tokens from the database; if a still-valid token is found it is used, otherwise it increments an authentication-failure counter and throws a customer-facing error. Refreshed tokens are persisted back onto the integration source, and each refresh attempt is written to the activity log. Test and production use different base URLs (the source's testing setting selects the test host).
- 10-4 — cookie-based login: it posts username/password and carries the returned auth token as a session cookie on subsequent calls. A not-authenticated response increments the failure counter and throws, and a per-source login failure fails all of that source's loads. On the posting side the per-load error text for such a failure shows the posting's own description instead of the real login error; the removal side shows the real error.
- Trucker Tools — requires an account number, license key, and username; a missing value produces a per-load error. Authentication is header-based (an API key plus a signature header). Delete is not a hard delete — it posts a "canceled" status to the same create endpoint (the model is a status update: available, covered when a carrier is assigned, or canceled).
- 123 Loadboard — per-source login; a login failure errors all of that source's postings with the same "check your integration source credentials" text. Addresses map to US or Canada only.
- Motive — per-shipment authentication and client. Customer-facing errors surface their own message; other errors surface full detail into the activity log. The offer rate is sent as a whole number (cents are dropped).
- Load Board Network — XML transport. A missing license key does not make any call at all: it sets the authentication-failure counter to five, flips the source into an authentication-error state, and returns empty. This silent no-op is easy to misdiagnose as "nothing happened," and once the source is in that state the scheduled runs stop picking it up. With a license key present, it authenticates using a service key plus the customer's license key.
- External Load Board — builds a per-source request context; empty responses and unexpected exceptions map to generic user-facing error messages.
Failure isolation
- Source-level handling differs by board. Truckstop, 123 Loadboard, and External Load Board group their postings by integration source and wrap each source's block in a catch-all: any exception marks all of that source's postings as errors and removes them from the working set, so other sources still process. DAT classic catches only a login failure per source and drops that source's postings. 10-4 fails every load of a source whose login throws. Load Board Network has no source-level catch, so a transport exception there propagates out of that board's run (a missing license key is handled by state instead). Motive builds a fresh connection per shipment.
- Per-load handling is not uniform. DAT classic, Truckstop, 123 Loadboard, Motive, and External Load Board catch per-shipment problems and return an error result (with a message) rather than throwing. The 10-4 per-load post and delete and the Trucker Tools HTTP call do not catch, so an HTTP or serialization exception can propagate and fail that board's whole batch. Trucker Tools only catches integration-source validation problems.
- Parallel boards. 10-4 and Trucker Tools process in parallel, so result ordering is non-deterministic. Trucker Tools collects per-load results into a thread-safe queue. 10-4 collects per-source groups in a thread-safe queue, but adds per-load results into a plain list from parallel threads, which is not thread-safe.
- Across boards. Each board runs as its own scheduled job, so a failure contained to one board's batch does not affect any other board. The newer DAT jobs and DAT Convoy Marketplace are separate jobs again.
Other behavior worth knowing
- Automatic removal. Postings are marked for removal when the shipment is canceled, when a linehaul carrier is assigned to a truckload shipment, and when a carrier quote is accepted. Postings also go through the "expired" removal once their expiration date passes.
- Posting expiry. The expiration date is set from the advertising duration in days and runs to late in the last day (UTC). If no duration is given, it defaults to the following day. The expired removal applies once the calendar date (UTC) passes the expiration date.
- Location masking. When a shipment has masked origin or destination city, state, or postal code values, DAT (classic), 10-4, 123 Loadboard, Motive, and Load Board Network post the masked values instead of the real address, for the first pickup and last drop only. This is unconditional, with no feature flag. Truckstop, Trucker Tools, External Load Board, and the newer DAT connection do not apply these masked values in the posting code.
- Offer rate. Every board takes the posted rate from the shipment's offer rate reference value.
- DAT classic comment handling — each comment is truncated to 70 characters and prefixed with a "requested equipment" comment. A pickup-ready date on or before two hours ago (date portion) is raised to that cutoff date, and only the date is sent.
- Truckstop stop rules — stop notes are truncated to 254 characters, and stops must be in ascending date order or a customer-facing error is thrown. A repost workaround detects responses indicating the update is not allowed in the current state (or that the update route does not support the call) and re-posts the load with a modified load number (shipment ID plus the day of the year), clearing the stored reference, so it stays live.
- Per-board equipment mapping. DAT, Truckstop, 10-4, Trucker Tools, and 123 Loadboard each map the shipment's trailer type to their own codes. Unknown, none, or other trailer types fall through to a board-specific default, so the board can show a broader equipment category than the shipment.
- Mixed reference provenance is the top delete pitfall — boards that trust a server-assigned id (Truckstop, Motive, 123 Loadboard, and the newer DAT connection) versus boards that derive the id from the shipment (DAT classic, 10-4, Trucker Tools, Load Board Network) must delete using whatever the post assigned; a mismatch is why a delete can silently miss.
Frequently asked questions
Which load boards does load posting actually support, and which look supported but are not?
In the Tai TMS, load posting actively supports DAT (two posting paths), Truckstop, 10-4, Trucker Tools (triggered by shipment status through Smart Capacity rather than the scheduled batches), 123 Loadboard, Motive (formerly Keep Truckin), Load Board Network, a generic External Load Board connector, and DAT Convoy Marketplace through its own marketplace sync. DexFreight is present only as a general integration source type and is fully disabled, so it never posts. Parade, Triumph (Greenscreens), FreightWaves, Cargo Chief, Macro Point Capacity, Highway TFX, and Truckstop - Book It Now appear in the truckload sourcing type list but have no load-posting connector in this area.
Why doesn't the repost function seem to do anything?
In the Tai TMS, the dedicated repost entry point on every connector is intentionally a no-op that returns nothing. Reposts are handled by the removal and posting steps, chosen by the posting's action, so when troubleshooting a repost you should look at those steps (for example, Truckstop switching its create call to an update call, or 10-4 deleting and then posting), not at a separate repost call. The newer DAT connection is the exception: its refresh job is a real repost.
What does a repost actually do on each board?
In the Tai TMS, a repost is not one operation. Truckstop updates the existing posting in place, and External Load Board sends a repost-order call. DAT (classic), 10-4, Trucker Tools, 123 Loadboard, and Motive delete or cancel the old advertisement and then post a new one. DAT on the newer connection refreshes the existing posting. Load Board Network deletes the load and closes the posting without posting it again in that run.
A Load Board Network posting closed when it came due for a repost — why?
In the Tai TMS, the Load Board Network connector skips repost entries when posting, but its removal step deletes every posting it receives, including reposts, and tags each result as a removal, which closes the posting. So a repost on Load Board Network deletes the load and closes the posting. Repost frequency is never saved for Load Board Network postings, so this happens when an already-posted load is resubmitted. Whether the closing is intended has not been confirmed.
The delete succeeded and the repost's post failed — what is the state of the load?
In the Tai TMS, on boards that delete and then post, the removal runs first and clears the stored reference. If the following post fails, the advertisement is no longer on the board and the posting shows an error, so the load needs to be reposted.
How is the load board reference number determined for each board, and why does it matter for deletes?
In the Tai TMS the reference number is what identifies a posting for later update or delete, and its source varies by board. DAT classic derives it from the shipment ID capped to eight digits and reuses it as the delete key; DAT on the newer connection, Truckstop, Motive, and 123 Loadboard store the board-assigned id from the response; and 10-4, Trucker Tools, and Load Board Network use the shipment ID itself. Because deletes must use the same value the post assigned, a mismatch between how a board assigns and how it deletes is a common reason a removal silently misses.
What happens to my other boards when one board's credentials fail?
In the Tai TMS, each board runs as its own scheduled job, so one board's failure does not stop the others. Within a board, Truckstop, 123 Loadboard, and External Load Board wrap each integration source in error handling, so a source-level failure marks only that source's loads as errors while other sources continue. DAT classic and 10-4 handle login failures per source. Load Board Network has no source-level handler, and 10-4 and Trucker Tools do not catch every per-load exception, so on those boards an unexpected error can fail the whole batch for that board, but still not any other board.
A Load Board Network post appeared to do nothing and logged no per-load error — why?
In the Tai TMS, the Load Board Network connector treats a missing license key as a hard stop: it makes no call, sets the authentication-failure counter to five, flips the source into an authentication-error state, and returns empty. Because it returns empty rather than raising per-load errors, it looks like nothing happened, and the scheduled runs then skip that source. Check the integration source for a missing or blank license key and its authentication-error state.
How does Trucker Tools handle deleting a posting, and what triggers its posting?
In the Tai TMS, a Trucker Tools delete is not a hard delete. The connector posts a "canceled" status to the same endpoint used to create the posting, because Trucker Tools models the lifecycle as a status update (available, covered when a carrier is assigned, or canceled). Its posting is not run by the scheduled batches. It is triggered by shipment status changes for accounts with Smart Capacity turned on.
Is DAT posting the same integration as DAT rating and quoting, and how many posting paths does DAT have?
No. In the Tai TMS, DAT has two posting paths plus separate quoting. The classic connection posts through DAT's older interface and is run by the scheduled DAT batch. The newer connection posts through DAT's newer REST interface and is run by its own add, delete, and refresh jobs. The same newer client also powers quoting, rate lookup, and equipment search. A DAT account is on exactly one posting path, so a problem on one path does not necessarily affect the other.
How do I tell which DAT posting path an account uses?
In the Tai TMS, look at the Version setting on the DAT connection. If it is set to REST (and the account is not in an authentication-error state), the account is posted through the newer jobs. Otherwise it is posted through the scheduled DAT batch on the classic connection, which skips REST accounts.
A DAT refresh says the posting was not found — will the load come down?
In the Tai TMS, on the newer DAT connection a "not found" refresh error is counted per posting. It is retried on the next scheduled repost, and after three consecutive not-found failures the posting is closed and its posting date is cleared. Any other result resets the count.
How does DAT recover from an expired session during posting?
In the Tai TMS, DAT classic logs in with the integration source credentials before posting. If a per-load apply comes back with an "invalid session token" response, the connector forces a fresh re-login and retries that apply once. A failure at initial login instead fails all of that source's postings with a message to check the integration source credentials. The newer connection instead refreshes its access token and retries once on an authentication failure.
Why does the sourcing type list show boards that cannot post loads?
In the Tai TMS, the truckload sourcing type list on integration setup is wider than the boards that can post. It includes partners such as Parade, Triumph, FreightWaves, Cargo Chief, Macro Point Capacity, Highway TFX, and Truckstop - Book It Now, which have no load-posting connector in this area. Only the boards offered on the posting screens can be advertised to.