> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# On courier en route to pickup

> Starts an automation when an Uber courier is assigned and heading to the pickup.

`uber.onCourierEnRouteToPickup` takes no filters. It starts when a courier is assigned and heading to the pickup: status `pickup` while `courierImminent` is `false`.

```ts automations/courier-en-route-to-pickup.automation.ts theme={null}
import { automation, sendEmail, t } from "automate.ax"
import { uber } from "automate.ax/uber"

export default automation("Tell the store a courier is coming", () => {
  const event = uber.onCourierEnRouteToPickup({})
  sendEmail({
    to: "*",
    subject: t`Courier ${event.delivery.courier?.name} is on the way`,
    text: t`Expected at pickup: ${event.delivery.pickupEta}`,
  })
})
```

The event includes `id`, `deliveryId`, `customerId`, `status`, `liveMode`, `created`, and the full `delivery` with its courier, waypoints, ETAs, and fee. If Uber reassigns the delivery to a new courier, this trigger can start again.

Requires an Uber Direct connection with a webhook signing key and a dashboard webhook that sends `event.delivery_status`. See [Connect Uber Direct](https://docs.automate.ax/reference/integrations/uber/index.md#connect-uber-direct).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.