uber.createDelivery dispatches a courier and returns the new delivery with its id, status, fee, and public trackingUrl.
automations/dispatch-uber-delivery.automation.ts
pickup and dropoff require name, address, and phoneNumber. Phone numbers must start with + and contain only digits. Addresses accept the same formats as Create delivery quote. Both waypoints accept businessName, latitude, longitude, notes (up to 280 characters), readyAt, deadlineAt, and verification; dropoff also accepts sellerNotes.
manifestItems requires at least one item with name and quantity. size is small, medium, large, or xlarge and defaults to small. If you pass dimensions in centimeters, also pass weight in grams.
Proof and handoff
pickup.verificationacceptspicture,barcodes, andsignatureRequirement.dropoff.verificationalso acceptspincodeandidentification: { minAge }for age-restricted items. Identification includes a sobriety check unless you setnoSobrietyCheck.returnVerificationapplies when Uber returns an undeliverable order.deliverableActionisdeliverable_action_meet_at_doorby default ordeliverable_action_leave_at_door. Leave-at-door deliveries cannot require a signature, PIN, or ID check, and Uber requires a photo for them.undeliverableActionisreturnby default,discard, orleave_at_door. Orders that require a signature, PIN, or ID check cannot be left at the door.
Retries and duplicates
PassidempotencyKey to make the action safe to retry. Uber refuses to create a second delivery with the same key for 60 minutes, so a retry cannot dispatch a second courier. Without a key, Automate.ax does not repeat a request whose outcome is uncertain because it could dispatch a second courier. Uber also rejects a second delivery with the same manifestReference and externalId pair.
Other inputs
tip is in cents and is included in fee. externalStoreId (up to 150 characters) and externalId link the delivery to your systems. returnNotes, externalUserInfo, and userFeesSummary pass through to Uber.
With test credentials, set roboCourier: { mode: "auto" } to have Uber’s simulated courier advance the delivery about every 30 seconds, or mode: "custom" with enrouteForPickupAt, pickupImminentAt, pickupAt, dropoffImminentAt, and dropoffAt to control each step. Add cancelReason to simulate a courier cancellation.
Uber returns couriers_busy or address_undeliverable_limited_couriers when no courier is available; Automate.ax retries both. address_undeliverable, expired_quote, used_quote, and time-window errors fail without retrying.