ChatGPT cannot quote the lane, book the flight, and read the Form 1 through one connector if that connector is Doana. Freight forwarding combines document work with transport operations. Collapsing them into one agent permission books against unverified certificate data.
An assistant can help with a defined document task such as one EASA Form 1. One connector should not be assumed to cover quoting, booking, tracking, and the entire shipment. Warp and CargoAi remain those vendors’ products.
Choose a document bottleneck
Choose a recurring set of EASA Form 1 certificates on an aviation lane. Define which fields operations needs, where reviewed values belong, and how an exception reaches an operator. That scope is small enough to measure on the five-file UTC week.
Doana’s public MCP catalog exposes EASA extraction. It does not expose a rate engine, booking operation or tracking feed. See the freight agent guide for the integration boundary.
If the recurring pain is an 8130-3, that is a reading workflow, not Doana extraction. Keep it off extract_easa_form1.
Keep service capabilities separate
Freight MCP products also exist for transport tasks. Warp describes a freight MCP server, while CargoAi documents its MCP connector. Those are other providers’ freight MCP docs. Doana does not quote, book or track, and still only extracts EASA Form 1.
An agent using multiple services needs distinct permissions for each. Extracting a certificate should not implicitly authorize a paid booking. If ChatGPT can see both a freight MCP and Doana, split the prompts and the allowlists.
Doana still has no REST POST /extract. ChatGPT calls extract_easa_form1 after OAuth on https://doana.ca/api/mcp.
Design the handoff
Associate the document job with a shipment reference in your application before the agent returns fields. Show the extracted identifiers and quantities beside the source record. If they differ from other shipment records, request review instead of silently overwriting either value.
For ChatGPT, confirm a configured custom MCP app and supported attachment handling. Follow the Doana ChatGPT guide before submitting a file. Attach and call in the same turn. Pass the signed file object; do not invent download_url.
Poll get_extraction_result while status is dispatch_pending, queued, running, or outcome_unknown. Five EASA Form 1 files per personal account per UTC week. MCP_QUOTA_EXHAUSTED waits for Monday 00:00 UTC. Failed jobs refund the unit.
What the ChatGPT prompt should refuse
It should refuse to book, rate, track, file customs, or treat confidence as a release. Ask it to extract, show uncertainFields, and stop. If the user says “just ship it,” the agent should require a different authorized system.
Keep serial numbers as arrays. Do not flatten them into the house AWB description field. Empty release13 with filled release14 is often a maintenance Form 1, not an anomaly.
If DOWNLOAD_URL_EXPIRED appears, re-attach in the same turn. If the file is TIFF, export PDF/JPEG/PNG. If Codex or Claude is the client instead, use those guides; this post is ChatGPT-shaped on purpose.
Copy-pasteable ChatGPT sequence
Connect the custom MCP app, check get_usage, attach one EASA Form 1, and ask for item rows plus uncertainFields. If the job has not settled, retrieve it. If Warp or CargoAi is also connected, do not mention booking in the same prompt.
A bounded prompt:
Check Doana usage. Extract this EASA Form 1. Show part numbers, quantities, serial arrays and uncertainFields. Do not quote, book or track. Do not file customs. If the job has not settled, retrieve job_id. Preserve values exactly.
If Codex is your prototype client instead, the Codex integration has CLI commands. This post stays on ChatGPT because that is where forwarding desks usually start.
UNSUPPORTED_FILE_TYPE includes TIFF. TOO_MANY_PAGES means split the packet. INVALID_DOWNLOAD_URL means you typed a link ChatGPT did not sign.
Measure the trial
Track usable results, corrections and unresolved exceptions for one recurring workflow. Keep operator review in the loop while you learn which input quality and document variants create work. A tidy chat that dropped a serial is a failed trial, not a pass.
Keep bookings and external customer messages on your existing authorization process. Do not let remarks inside a certificate change those permissions.
A trial that never stored job_id on the shipment cannot tell duplicate extracts from new ones. Write the identifier before anyone quotes a customer.
File limits on a forwarding desk
The same product limits as every other Doana client: PDF 50 MB and 20 pages, JPEG or PNG 20 MB, no TIFF, content_base64 only up to 64 KiB, then create_mcp_upload. ChatGPT still uses the signed attachment object, not a local path.
If operations scans a whole house-file PDF, TOO_MANY_PAGES is likely. Split out the Form 1. If they scan TIFF, export before attaching. If quota is gone, wait for Monday 00:00 UTC. None of those errors is a booking error, and none of them should trigger Warp or CargoAi.
Try the EASA extraction API or explore API integration for an internal agent. Connect the freight-shaped review policy on AI agents for freight forwarders.
