Uber Direct
SkillDev toolsLets your agent get quotes and book same-day Uber Direct courier deliveries and track their status.
Use Uber Direct in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Uber Direct and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Uber Direct skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
Quote and dispatch same-day Uber Direct courier deliveries, and check their status. Trigger phrases: uber direct, same-day delivery, dispatch courier, delivery quote.
What this skill tells your AI
The instructions your AI receives, as published by anil-matcha/awesome-muse-connectors in connectors/uber-direct/SKILL.md and read by Ahel’s review.
Purpose
Dispatch same-day couriers through Uber Direct for food, retail, grocery, or parcel deliveries. Get a price and time quote without dispatching anyone, create a delivery when the user approves, check its status, and cancel a pending one. Reach for this when the user needs something picked up and dropped off locally today.
Tooling
All commands go through bin/uber-direct.py. Every command takes --customer-id (the Uber Direct customer ID from the developer dashboard):
bin/uber-direct.py auth --customer-id CUST_ID # verify the credentials
bin/uber-direct.py quote --customer-id CUST_ID \
--file quote.json # price/time quote (no courier dispatched)
bin/uber-direct.py dispatch --customer-id CUST_ID \
--file delivery.json \
--confirm "dispatch courier: 123 Main St -> 456 Oak Ave, quoted $9.85" # dispatch (confirmation required)
bin/uber-direct.py get --customer-id CUST_ID \
--delivery-id DELIVERY_ID # delivery status and tracking
bin/uber-direct.py cancel --customer-id CUST_ID \
--delivery-id DELIVERY_ID \
--confirm "cancel delivery DELIVERY_ID" # cancel a pending delivery
quote.json and delivery.json hold the Uber Direct quote/delivery payloads (pickup and dropoff addresses, contact details, package info). Always run quote first and show the user the price and ETA before asking them to confirm a dispatch.
Auth
- Provider id:
uber-direct(credential is collected ascustom.uber-direct) - Collection: OAuth 2.0 client-credentials via the secure credential flow (
credentials.request_api_access); the runtime performs the token exchange and hands the CLI a fresh access token, same pattern as the slack and x connectors - Credential split: ONE stored credential holds the developer app's client ID and client secret; the Uber Direct customer ID is NOT a secret and is passed as the
--customer-idruntime flag because it identifies the account in the URL path (one login can own several customer IDs) - Auth scheme:
Authorization: Bearer <token>on every request - Allowed hosts:
api.uber.com - Status check:
bin/uber-direct.py auth --customer-id CUST_ID
Operating Rules
- Sandbox is the default. Test deliveries never dispatch real couriers. The sandbox/test flows are enabled in the Uber Direct developer dashboard; confirm sandbox semantics there before treating any test as representative.
- Dispatch is a HIGH actuation:
POST /deliveriessends a real courier to the pickup and then the dropoff, and the quoted fee is charged once the delivery is accepted. The CLI requires--confirmwith the exact string it echoes (pickup, dropoff, quoted amount) on every dispatch, in any environment. Missing or mismatched confirmation refuses the call. - Always quote before dispatching: the quote response carries the fee and ETA the user approves.
- Cancellation: only possible while the delivery is pending or unassigned. A cancellation fee can apply once a courier is assigned; a delivered parcel cannot be un-delivered.
cancelrequires--confirmevery time. - Delivery fees vary by market and are billed to the Uber Direct account. Never exfiltrate the credential: the CLI only ever handles surrogates (see
bin/uber-direct.py). Do not print, log, or transmit the client ID or secret.
Files
- SKILL.md
- bin/uber-direct.py
Maturity
Draft: written from Uber Direct's public API docs; not yet live-tested end-to-end.
Signals
- GitHub stars
- 1k
- Forks
- 282
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
uber-direct- Source
- github.com/anil-matcha/awesome-muse-connectors
github.com/anil-matcha/awesome-muse-connectors