Count the freight emails in your inbox right now. On an average Monday morning for a broker running 15 to 20 loads a day, that number is between 18 and 35. Each email has data in it: origin, destination, rate, pickup date, equipment type, carrier name, MC number. All of it needs to be in your TMS before the day actually starts.
At seven minutes per email, 25 emails is nearly three hours. Before you've spoken to a single carrier. Before you've posted a single load. Before you've done anything that resembles brokering freight.
This guide walks through the complete setup: how to connect your Gmail or Outlook inbox, what happens during the two-minute scan cycle, how confidence scoring works, and what gets extracted from each email.
To automate email to TMS for freight, connect your Gmail or Outlook inbox via OAuth to freightOptIQ. The system scans your inbox every two minutes, classifies freight emails using an AI intent gate, extracts all 14 standard load fields with confidence scoring on each one, and pushes approved data to your TMS or Google Sheets automatically. Setup takes under 10 minutes and requires no IT support.
Before you start: what you need
Email to TMS automation works with Gmail (including Google Workspace) and Microsoft Outlook or Office 365. Before you open the setup screen, confirm three things.
First, you need admin access to the email account you're connecting, not just user-level login. If your brokerage runs on a shared inbox like ops@yourbrokerage.com, you need the credentials for the account owner. A user login won't complete the OAuth authorization.
Second, decide where extracted data is going before you connect. If you're using Google Sheets, no additional setup is required: it's available on the Starter plan and the connection wizard handles it. If you're pushing to AscendTMS, Tai TMS, or Rose Rocket, have your TMS API credentials ready before starting.
Third, if your Microsoft 365 environment has tenant-level third-party app restrictions, resolve that before starting. Some corporate Microsoft setups require admin approval before any OAuth app can connect. Your IT admin can approve this in under five minutes, but if it's going to be a process, handle it before you're mid-setup.
How the email-to-TMS pipeline works
There are three stages between an email landing in your inbox and its data appearing in your TMS. Understanding each one matters for knowing what to expect and how to troubleshoot if something isn't working.
Stage 1: Intent classification
The first thing freightOptIQ does with every new email is run it through an intent gate. An AI classifier reads the subject line, sender address, and email body and determines whether this is a freight document that needs processing or something else entirely.
This classification step runs before extraction. A carrier email with a rate confirmation PDF gets routed to the extraction engine. A newsletter from your insurance carrier does not. The intent gate keeps false positives out of your Load Inbox without requiring you to manually set up sender filters for every contact in your network.
Stage 2: Field extraction
Once an email clears the intent gate, the extraction engine processes it. For a plain-text email, the engine reads the text directly. For an email with a PDF attachment, OCR runs first to convert the PDF into machine-readable text, then extraction processes the resulting text.
The extraction is not template-based. You don't build a profile for each carrier's email format, and you don't map field locations on a PDF. The AI reads the email contextually. DFW, Dallas TX, and Dallas Fort Worth International are all recognized as the same origin city. '$2,450 all-in' and 'Rate: $2450' extract to the same rate field. Common freight abbreviations (DV for dry van, reefer, FBK for flatbed, 42K lbs) are all handled without any configuration on your end.
Stage 3: Confidence scoring
After extraction, every field receives a confidence score between zero and 100%. Fields above 90% are green and auto-approved without any action from you. Fields between 70% and 90% are yellow and need one-click review where you see the extracted value alongside the source text. Fields below 70% are red and require manual input.
On a well-formatted carrier email with a clean PDF attachment, you'll typically see 10 to 12 green fields and one or two yellow ones. Total time on that document: about 15 seconds. On a low-resolution scanned fax, expect more yellow and red fields. The quality check runs before extraction flags anything unreliable, so you know before you approve.
Connecting your Gmail inbox
The Gmail connection uses Google's standard OAuth 2.0 authorization. Here's exactly what you'll see at each step.
- 1Go to Settings and click Email Connections
From your freightOptIQ dashboard, click the gear icon in the top right and select Email Connections. You'll see two options: Connect Gmail and Connect Outlook. Click Connect Gmail. Time: 10 seconds.
- 2Complete the Google OAuth consent screen
Google's authorization page opens in a new window. It shows the permissions freightOptIQ is requesting: read your Gmail messages and manage Gmail labels. The read permission is required for inbox scanning. The label permission creates a 'freightOptIQ Processed' label in your Gmail sidebar so you can see at a glance which emails have been handled. Click Allow. Time: 30 seconds.
- 3Verify the connection in freightOptIQ
After clicking Allow, you return to the freightOptIQ Settings page. A green badge next to your email address confirms the OAuth connection is active. The Load Inbox dashboard also shows a green banner confirming scanning has started. Time: 5 seconds.
- 4Check Gmail for the first scan results
Within two to four minutes, go to your Gmail sidebar. If any freight-related emails were already in your inbox at the time of connection, you'll see the freightOptIQ Processed label appear next to them and corresponding entries in your Load Inbox. This confirms the scan cycle is running. Total setup time: under 2 minutes.
Connecting Outlook or Office 365
Outlook uses the Microsoft Graph Delta API for inbox scanning. The setup process is similar to Gmail, but there are two differences worth knowing.
First, corporate Microsoft 365 environments sometimes have tenant-level restrictions on third-party OAuth apps. If your organization has these restrictions enabled, you'll see an approval request during the OAuth flow instead of a standard authorization screen. This is a Microsoft 365 tenant policy, not a freightOptIQ issue. Your IT admin can approve the request in under five minutes. Once approved, the connection works identically to Gmail.
Second, Outlook uses folders rather than labels. When the scan processes an email, it moves a copy to a freightOptIQ subfolder in your Outlook rather than applying a label. The behavior is the same: you get a clear visual indicator of what's been processed. The location in your email client is different.
For solo brokers on personal Microsoft accounts without tenant restrictions, the Outlook connection takes the same two minutes as Gmail.
What happens after you connect: the 2-minute scan cycle
Once your inbox is connected, freightOptIQ checks for new freight-related emails every two minutes. It uses an incremental scan, meaning it doesn't re-read your entire inbox on every cycle. Gmail's History API tracks a position cursor called a historyId. Microsoft's Graph Delta API uses a deltaLink. Both work the same way: only emails received after the last scan position get processed.
This matters for two reasons. First, it's efficient. You're not burning processing resources re-reading 8,000 old emails every two minutes. Second, it means the system stays accurate over time. The cursor moves forward with each scan, so even if you have years of email history in your inbox, only new emails get processed.
A freight broker processing 20 loads a day with active carriers emailing throughout the day will see their Load Inbox update continuously. If a carrier emails a rate confirmation at 2:07 p.m., that document is extracted and in your Load Inbox by 2:09 p.m. at the latest. For most freight email volumes, the effective delay between receiving an email and seeing extracted data in your dashboard is under two minutes.
You can verify the scan is running from the Email Connections section in Settings. It shows the timestamp of the last successful scan and the count of documents processed in the last 24 hours.
Reviewing and approving extracted loads
Extracted loads appear in your Load Inbox with all 14 fields color-coded by confidence. Here's how to work through them efficiently.
- 1Check the confidence summary
Each load card shows a summary at the top: number of green fields, yellow fields, and red fields. If all 14 are green, you can approve the entire load in one click. Time: 2 seconds.
- 2Review yellow fields with the source overlay
Click any yellow field to open the source overlay. You see the extracted value on one side and the original text from the email or PDF on the other. Confirm or correct it. Time: 3 to 5 seconds per yellow field.
- 3Enter red fields manually
Red fields couldn't extract with enough confidence to present a value. Type the correct value directly. These are rare on clean carrier emails, typically zero to two fields per document. Time: 5 to 10 seconds per red field.
- 4Approve and push to output
Click Approve. The data pushes to your configured output: a new row in Google Sheets, a new load entry in your TMS, or a webhook POST. The source email gets labeled freightOptIQ Processed. Time: 2 seconds.
Output options: where the data goes
Where extracted data goes depends on which plan you're on and which output you've configured in Settings.
- Google Sheets (Starter plan, $49/mo): A new row appends to your connected spreadsheet every time you approve a load. Column headers match the 14 standard fields. This works as a real-time load tracker or as an intermediate step before TMS integration.
- AscendTMS, Tai TMS, or Rose Rocket (Pro plan, $149/mo): freightOptIQ creates a new load entry directly in your TMS via API. No tab switching. No copy-paste. The load appears in your TMS within seconds of you clicking Approve.
- Webhook output (Pro plan): If you're using a custom load management setup, configure a webhook URL and freightOptIQ POSTs the approved load data as structured JSON on every approval. This works with any system that can receive HTTP requests.
- CSV export (all plans): Download your Load Inbox as a CSV at any time for reporting, reconciliation, or import into any system that accepts flat files.
The 14 fields extracted from every freight email
These are the same 14 fields your TMS requires to create a load entry. All are extracted from a single email pass, including PDF attachments:
| Field | Typical confidence | Notes |
|---|---|---|
| Load or reference number | 90%+ green | Clearly labeled in most carrier emails |
| Origin city and state | 88%+ green | DFW, CHI, ATL and similar abbreviations recognized |
| Destination city and state | 88%+ green | Same abbreviation handling as origin |
| Pickup date | 85%+ green | Relative dates like 'next Thursday' resolved to calendar dates |
| Delivery date | 85%+ green | Delivery windows flagged yellow for review |
| Agreed rate | 92%+ green | Currency values verified against plausible range for the lane |
| Equipment type | 87%+ green | DV, reefer, FBK, step deck all recognized |
| Weight | 78% yellow or green | Lower confidence on informal notation like 42K or '42 thousand' |
| Commodity | 75% yellow or green | Vague descriptions like 'general freight' flagged yellow |
| Carrier name | 95%+ green | Sender name used as primary source, verified against carrier profile |
| Carrier MC number | 80% yellow or green | Not always in email body. Falls back to carrier profile if absent |
| Shipper name | 85%+ green | |
| Consignee name | 85%+ green | |
| Special instructions | 72% yellow | Unstructured text, captured and flagged for review |
Gmail vs. Outlook: what's actually different
Both integrations work well for freight email processing. The practical differences come down to three things: setup friction, label or folder handling, and corporate environment compatibility.
Gmail is faster to connect in most cases. Google's OAuth screen is clean, the historyId cursor is reliable, and the freightOptIQ Processed label appears in your Gmail sidebar immediately after the first scan. For solo brokers who can choose their email platform, Gmail is the easier starting point.
Outlook is the right choice if your brokerage is already on Microsoft 365. The Graph Delta API performs identically to Gmail's History API for incremental scanning. The main variable is whether your Microsoft 365 tenant has third-party app restrictions, which adds one admin step to the setup. Once resolved, the two integrations are functionally equivalent.
What email automation does not handle
Email to TMS automation solves the data entry problem for email-based freight documents. It doesn't solve everything, and it's worth being specific about the gaps.
It doesn't make carrier selection decisions. It doesn't know which carrier to assign to a load, what rate to bid, or whether a carrier's safety score is acceptable for your customers. Those are judgment calls that stay with you.
It doesn't process WhatsApp messages, phone call notes, or faxed paper documents automatically through the inbox scan. Those channels require a different input method: paste-to-parse for WhatsApp text, voice dictation for call notes, and photo upload for paper documents. All three are available in freightOptIQ but work separately from the email scan pipeline.
It doesn't replace carrier vetting. It extracts MC numbers and flags mismatches with your carrier profile, but verifying active authority and current insurance still requires a Safer System check and a current COI.
Frequently asked questions
Does email to TMS automation work with shared freight broker inboxes?+
Yes. freightOptIQ connects at the email account level, not the individual login level. If your brokerage uses a shared inbox like ops@yourbrokerage.com, connect freightOptIQ with that account's credentials. Multiple team members can then access the shared Load Inbox dashboard and review or approve extracted loads without stepping on each other.
What happens if a carrier sends the rate confirmation as a PDF attachment?+
PDF attachments are handled automatically. When the inbox scanner detects a freight email with a PDF attachment, it runs OCR to convert the PDF to text, then extracts all 14 fields from the resulting text exactly as it would from a plain-text email. No manual download or data entry is required. This works for digitally-created PDFs and for scanned paper documents.
How long does the Gmail OAuth setup actually take?+
Under two minutes from start to first scan. Click Connect Gmail, authorize on Google's consent screen, and the scanner starts immediately. The freightOptIQ Processed label appears in your Gmail sidebar within two to four minutes of connection, confirming the scan cycle is running. No IT team, no API credentials, no configuration beyond the initial OAuth flow.
Will freightOptIQ read non-freight emails in my inbox?+
No. The intent gate runs before extraction on every email and classifies it as freight or non-freight. Non-freight emails (newsletters, invoices from your office supplier, personal emails) are not read, not stored, and not processed. Only emails that the intent gate classifies as freight documents get passed to the extraction engine.
What field accuracy should I expect from email extraction?+
On clean carrier emails and well-formatted PDF rate confirmations, field accuracy is above 92% on the first extraction pass. Low-quality scans, handwritten documents, and very informal email formats typically run 75% to 85%. The confidence scoring system flags all below-threshold fields for your review rather than auto-approving them, so the data you push to your TMS has been reviewed.
Sources: [1] Transportation Intermediaries Association โ Email and Operations Research ยท [2] Billentis โ Global Invoice Processing Report
Stop doing this manually. freightOptIQ handles it in seconds.
Connect your Gmail or Outlook inbox, paste a WhatsApp message, or upload a PDF. First 50 documents are completely free.