2 ready-to-build workflows

AI agent workflows for Ports, shipping & freight forwarding

Proactive milestone updates, demurrage warnings and clean document files — without a coordinator refreshing a carrier portal all day.

Each recipe below is expressed only in VegaDūta's real workflow building blocks — Trigger, Agent, Knowledge, Condition, Approval, Output, Tool (MCP), Voice, Device, Loop, Code and Parallel — so it maps 1:1 to something you can assemble in the Workflow designer. Consequential actions always pass a human Approval step.

1. Milestone & ETA updates with demurrage / detention alerts

A coordinator refreshes carrier and port portals all day, then emails consignees when a vessel slips or a box lands — and free time on containers quietly runs out before anyone flags the demurrage and detention risk, so charges land as a surprise.

Trigger: Webhook (carrier / port EDI milestone event)

How the workflow runs

  1. Trigger

    Milestone event arrives. A Webhook trigger receives each tracking/EDI event (gate-in, loaded, sailed, discharged, gated-out). Carrier and port systems have no first-party connector — the EDI/tracking feed pushes in via Webhook (or a Tool/MCP node that polls their API).

  2. Knowledge

    Load the shipment's free-time terms. A Knowledge node holds the booking's free-time / detention rules and the consignee's contacts, so the flow reasons against this shipment's actual terms — not a generic guess.

  3. Condition

    Only act when it's material. A Condition node branches: a routine event is logged; an ETA slip, an arrival, or a container nearing the end of its free time continues to the outreach path — including a demurrage/detention warning window.

  4. Agent

    Write the update + the warning. An Agent node turns the raw event into a plain-language update for the consignee, and — where free time is running short — a clear demurrage/detention heads-up with the last-free-day and the action needed.

  5. Output

    Notify the consignee proactively. An Output node reaches the consignee on WhatsApp/Email/SMS before they chase you — and before the charge clock runs out.

Channels & connectors

  • Webhook (carrier/port EDI)
  • Knowledge base
  • WhatsApp
  • Email
  • SMS

Outcome

Consignees hear about every milestone, ETA change and looming demurrage window from you first, in time to act — instead of chasing a coordinator or discovering a charge after the fact.

Why it helps

Replaces all-day manual portal-watching with event-driven, terms-aware alerts; the value is catching the free-time deadline before it becomes a charge, not a hands-off ops bot.

Build spec

1 agent1 update-writer agent; the free-time reasoning and the materiality branch are Knowledge and Condition nodes, not extra agents.

System prompt (paste-ready)

You are a freight status assistant. Given a shipment milestone event {shipment_ref, event_type, event_time, location, current_eta, last_free_day?} and the shipment's free-time terms from Knowledge, write a short, calm update for the consignee in their language. If the container is within the demurrage/detention warning window, state the last free day and the specific action needed, clearly. Never invent an ETA, a charge amount, or a last-free-day that isn't in the input or Knowledge — if a value is missing, say it's being confirmed. Do not promise a delivery date the carrier hasn't given.

MCP connectors

  • Carrier / port EDI + tracking — inbound via Webhook trigger (no first-party connector)
  • Forwarding TMS lookup — via a Tool (MCP) node

Built-in tools

  • knowledge_search (free-time / detention terms + consignee contacts)
  • http_request (pull shipment detail)

Guardrails

  • No invented ETAs, charges or last-free-days — the agent only relays values present in the event or Knowledge, else it defers ('being confirmed')
  • Materiality gate at the Condition node — routine events are logged, not messaged, so consignees aren't spammed on every gate scan
  • Idempotency on event id — a re-sent EDI event never double-notifies the consignee

Output & delivery

Milestone event → Condition filters for material changes + demurrage-window risk → the agent's update text is sent on WhatsApp/Email/SMS within seconds, keyed idempotently on the event id, with the raw event stored for audit.

2. Shipping-document collection & customs-status desk

For every shipment someone emails back and forth for the bill of lading, commercial invoice and packing list, checks each one by eye, and separately fields 'has it cleared customs yet?' enquiries by hand — incomplete files stall the entry and the same status question gets asked five times.

Trigger: Webhook (shipment created) or WhatsApp (shipper/consignee message)

How the workflow runs

  1. Trigger

    Docs due, or a status question. A Webhook trigger (shipment created / docs-due in your forwarding TMS) or a WhatsApp message from the shipper/consignee starts the flow.

  2. Knowledge

    Ground answers in this shipment's record. A Knowledge node holds the shipment's document checklist and its customs/clearance status, so status enquiries are answered from the real record — with citations — not a guess.

  3. Agent

    Capture & validate each document. An Agent node requests, reads and validates the bill of lading, commercial invoice and packing list — checking they match the booking (consignee, HS/commodity, quantities) rather than just accepting a PDF.

  4. Condition

    Completeness gate. A Condition node won't advance the file until every mandatory document is present, legible and consistent; anything missing or mismatched loops back with a specific ask.

  5. Approval

    Customs broker signs off the set. An Approval node hands the complete, validated document set to a human customs broker/ops to confirm before anything is filed — the entry decision is never automated. This is the control.

  6. Tool (MCP)

    File to the forwarding / customs system. On approval, a Tool (MCP) node writes the document set and status into your forwarding TMS or customs system — reached via MCP, not a native connector.

Channels & connectors

  • Webhook
  • WhatsApp
  • Email
  • Knowledge base
  • Approval / HITL
  • Tool (MCP → TMS/customs)

Outcome

Document files arrive complete, validated and consistent, and consignees get accurate customs-status answers on demand; ops touches only the approval, and nothing is filed without a human sign-off.

Why it helps

Removes the email ping-pong for documents and the repetitive 'has it cleared yet?' enquiries, while the customs filing stays a human decision with a full audit trail.

Build spec

1 agent1 document-intake agent; the customs-status Q&A is grounded by the Knowledge node, and filing is gated by Approval + a Tool node.

System prompt (paste-ready)

You are a freight-documentation assistant. For a shipment, request and validate the required documents (bill of lading, commercial invoice, packing list). Extract strict JSON {doc_type, present: boolean, legible: boolean, matches_booking: boolean, mismatches[]} for each. Copy values exactly — never 'fix' a quantity, HS code or consignee to make it match; flag the mismatch instead. When answering a customs-status question, answer ONLY from the shipment record in Knowledge, cite it, and if the status isn't in the record say it's being confirmed — never assert a clearance that isn't recorded.

MCP connectors

  • Forwarding TMS / customs system — via a Tool (MCP) node (no first-party connector)
  • Document uploads — accepted in the WhatsApp/Email channel

Built-in tools

  • document parsing (PDF/scan → text)
  • knowledge_search (doc checklist + customs status)

Guardrails

  • Completeness gate — the Condition node blocks the file from advancing until every mandatory document is present, legible and booking-consistent
  • No filing without the Approval node — a human customs broker confirms the set before the Tool node writes to the customs/TMS system
  • Grounded status only — customs-status answers come from the shipment record with a citation, or defer to 'being confirmed'; the agent never asserts a clearance

Output & delivery

Documents captured in-channel → the agent validates each against the booking → Condition enforces the completeness gate → the customs broker approves at the Approval node → a Tool node files the set into the TMS/customs system via MCP; customs-status questions are answered inline from the Knowledge-grounded record.

Related industries

Build one of these in minutes

The sandbox gives you a live agent workspace — no account, no card. Or head back to the full catalogue and compare patterns across every industry.

See how VegaDūta compares to n8n, Dify and BotpressWhy VegaDūta's architectureEstimate your WhatsApp API costs