shipcloud
LogisticsConnect AI agents to shipcloud, a German multi-carrier shipping platform covering DHL, DPD, UPS, GLS, and more. Agents create shipments with labels, get shipment quotes, track parcels with trackers, and request pickups so multi-carrier shipping runs through one API.
What This Integration Enables
shipcloud puts DHL, DPD, UPS, GLS, Hermes, Deutsche Post, and more behind one REST interface, which is the ordinary reason German shippers reach for it. The less ordinary reason, and the one that makes this connector genuinely well suited to agent-driven dispatch, is that the platform separates creating a shipment from buying its label. Create Shipment and Update Shipment only generate a label and incur cost when Create Shipping Label is enabled. Leave it off and you get a draft shipment: a real record with a carrier, a service, a package, and addresses, which can still be updated or deleted and has cost nothing. Turn it on and the response carries the carrier tracking number, a tracking URL, and a downloadable label URL, and from that point the shipment can no longer be updated or deleted.
That is a vendor drawing the same line FlowRunner draws, and it means an agent working this connector has a legitimate way to propose a shipment rather than commit one. Around it, Get Shipment Quote prices a package with a given carrier before anything exists at all, taking recipient address and weight with optional dimensions and sender address. List Carriers returns the carriers enabled on the account with their identifiers, supported services, and supported package types, which is what a routing rule should be checked against rather than a hardcoded list. Get Shipment and List Shipments read the book, with list filtering by carrier and by your own reference number.
Trackers are the second useful idea here. Create Tracker registers a carrier tracking number so shipcloud collects and normalizes its events even for parcels that were not created through the platform, which means inbound returns, supplier deliveries, and shipments booked on a legacy system all become readable in the same vocabulary as your own. Get Tracker and List Trackers read them back. Request Pickup asks a carrier to collect, taking earliest and latest pickup times as ISO 8601 timestamps and optionally a pickup address and a list of shipment IDs, and List Pickup Requests reads what has been requested. There are no triggers on this connector: shipcloud delivers status through account-level webhooks configured in its dashboard rather than created per application, so a flow either receives those callbacks on a FlowRunner endpoint or polls the trackers.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Buying the cheapest suitable carrier rather than the usual one
An order is ready in Shopify or Magento. The agent calls Get Shipment Quote for each carrier the business approves, using the real weight in kilograms and dimensions in centimeters, and calls List Carriers to confirm the leading option actually supports the service and package type this parcel needs, since both vary by carrier. It creates the shipment with Create Shipping Label off, so the record exists, is priced, and has cost nothing. For routine parcels within the rules, the flow enables the label immediately and drops the label URL into the packing queue. For the rest, the draft waits. The important property is that a wrong carrier choice caught at this stage is a Delete Shipment, not a refund request.
Tracking parcels the platform did not create
Not every parcel a business cares about was booked through its own account. Supplier shipments, customer returns sent with a label the customer bought, and anything still moving through a system being migrated away from all have tracking numbers and no home. Create Tracker registers each number so shipcloud collects and normalizes the carrier's events, and Get Tracker returns the current status with the full event list. The agent runs those numbers on a schedule, writes status into the receiving record in Airtable, and raises an automation exception in Slack for anything that has not moved in several days. One tracking vocabulary across parcels from six carriers is worth more than it sounds when someone is trying to answer a customer.
Pickups requested with a scope somebody chose
Request Pickup takes an earliest and latest pickup time and, optionally, a list of shipment IDs. The agent assembles that list explicitly from the shipments it labeled during the day, rather than leaving it empty, and posts the pickup window and the parcel count to Slack before the cutoff. List Pickup Requests then confirms what was actually asked for, with times and addresses, which is the record to check when a courier does not turn up. Keeping the shipment IDs explicit is a small discipline with a large consequence, and the reason is in the section below.
Human-in-Loop Highlight
The gate on shipcloud is a field, not a workflow the platform had to be talked into. Create Shipping Label is a flag on Create Shipment and on Update Shipment. Off, and the shipment is a draft: it exists, it names a carrier and a service, it holds the addresses and package data, it can be updated, it can be deleted, and it has cost nothing. On, and the label is generated, the cost is incurred, the tracking number is issued, and shipcloud will no longer let the shipment be updated or deleted. That is a designed boundary between proposing and committing. It maps onto the rule an agent on a production shipping account should run under: the flow may create drafts all day, and the flag that turns one into money belongs to a person or to a rule a person wrote.
In practice the agent does everything up to that flag. It quotes the parcel with Get Shipment Quote across the approved carriers, checks the package type and service against List Carriers, and creates the draft with the winning carrier. Where the shipment matches the ordinary rules, the flow flips the flag itself, because a gate that stops every parcel is a queue rather than a control. Where it does not, meaning a quote well above the expected band for that lane, a carrier the customer has previously refused, an international destination with customs implications, or a parcel above a value threshold, it stops and asks in Slack: "Order 7730 to Vienna, 8.2 kg. Cheapest approved quote is 24.10 EUR with UPS, 31.40 EUR with DHL. Draft created with UPS, no label bought yet. Buy the UPS label, switch carrier, or hold?" Update Shipment can change the carrier, service, package details, or addresses on that draft, so a reviewer who disagrees corrects the shipment rather than rejecting it and asking for a new one.
That is human-in-the-loop working the way Orchestration as a Service describes: the platform's own state model provides the pause, and the agent's job is to arrive at it with the work already done. Two adjacent scopes deserve explicit handling rather than a gate. Request Pickup with the shipment IDs left empty requests pickup of all pending shipments, so an omitted parameter is a materially wider instruction than a supplied one, and a flow should always name its shipments. And Delete Shipment works only on shipments without a label, which means the clean undo and the point of commitment are the same boundary, approached from opposite sides.
Agent Capabilities
12 actionsShipments
5- Create Shipment Creates a shipment with a chosen carrier and optionally generates the label. With Create Shipping Label enabled the response carries the carrier tracking number, a tracking URL, and a downloadable label URL. With it disabled, a draft is created that costs nothing and remains editable. Omitting the sender address uses the account default. Weight is in kilograms and dimensions in centimeters.
- Get Shipment Retrieves a single shipment by its shipcloud ID with status, carrier tracking number, tracking URL, label URL, and addresses.
- List Shipments Lists shipments on the account, most recent first, filterable by carrier and by your own reference number and paginated with page and per_page. Returns the shipments array plus pagination metadata.
- Update Shipment Updates a draft shipment that does not yet have a label, changing carrier, service, package details, or addresses, and can generate the label as part of the update. Shipments that already have a label cannot be updated, which makes this the action a reviewer uses to correct rather than reject.
- Delete Shipment Deletes a shipment by its shipcloud ID. Only shipments without a generated label can be deleted, so the undo and the commitment share the same boundary.
Quotes
1- Get Shipment Quote Calculates the shipping price for a package with a given carrier before any shipment exists, taking the carrier, recipient address, and weight, with optional dimensions and sender address. Free to call and the right basis for a carrier choice made per parcel rather than per contract.
Trackers
3- Create Tracker Registers a tracker for a carrier tracking number so shipcloud collects and normalizes its events, including for parcels not created through the platform. Returns the tracker with its current status and a tracking URL. The way inbound returns and supplier deliveries join the same status vocabulary as your own shipments.
- Get Tracker Retrieves a tracker by its shipcloud ID with current status and the full list of normalized tracking events.
- List Trackers Lists trackers on the account, optionally filtered by carrier, paginated with page and per_page. The read behind a scheduled sweep for parcels that have stopped moving.
Pickups
2- Request Pickup Requests a carrier pickup for shipments, taking earliest and latest pickup times as ISO 8601 timestamps and optionally a pickup address and a list of shipment IDs. Leaving the shipment IDs empty requests pickup of all pending shipments, so name them explicitly unless that wider scope is what you mean.
- List Pickup Requests Lists pickup requests on the account, optionally filtered by carrier, returning the requests with their pickup times and addresses. The record to check when a courier did not arrive.
Carriers
1- List Carriers Lists the carriers enabled on your account with each one's identifier, display name, supported services, and supported package types. The identifier is the carrier value used elsewhere, and the supported services and package types are what a routing rule should be validated against.
Frequently Asked Questions
What can FlowRunner do with shipcloud?
FlowRunner agents can run Create Shipment, Get Shipment, and List Shipments in shipcloud, plus 9 more actions.
Does connecting shipcloud to FlowRunner require OAuth?
No. shipcloud connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can shipcloud trigger a FlowRunner workflow automatically?
shipcloud doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with shipcloud
$100 in credits. No card required. Connect in minutes.