<!-- BusyBot node reference — https://busybot.net/tools/onfleet-trigger/ -->

> Node: Onfleet Trigger (`onfleet_trigger`) · Webhook trigger · v1
> Category: Productivity · Credentials: Onfleet (`onfleetApi`)
> Updated: 2026-08-16

# Onfleet Trigger

> Triggers on Onfleet delivery events such as task completion, worker duty changes, and SMS responses

## Overview

Receives webhook notifications from Onfleet when delivery-related events occur, including task lifecycle events (created, started, assigned, completed, failed, delayed, cloned, deleted), worker events (duty status, created, deleted), and SMS events (recipient response missed, opt out). Onfleet uses a validation handshake where it sends a GET request with a "check" query parameter that must be echoed back as text/plain before the webhook is activated. Each webhook subscription is scoped to a single trigger event type (identified by a numeric key). Useful for real-time delivery tracking, driver management, dispatch automation, and last-mile logistics workflows.

**Category:** Productivity  
**Tool Name:** `onfleet_trigger`  
**Version:** 1

**Appearance:** Icon: `lucide-Truck` | Color: `#ac2e4f`

## Node Type

**Trigger** — webhook (receives incoming HTTP callbacks)

## Input / Output

| Direction | Port(s) |
|-----------|--------|
| Input | None (trigger node) |
| Output | `Output` |

## Credentials

This tool requires **Onfleet** credentials.
See the [Credentials Guide](https://busybot.net/credentials/onfleet-api/) for setup instructions.

### Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Trigger On | `options` | Yes | — | The Onfleet event to trigger on. Each webhook subscription listens for exactly one event type. |
| | | | | Options: `SMSRecipientOptOut`, `smsRecipientResponseMissed`, `taskArrival`, `taskAssigned`, `taskCloned`, `taskCompleted`, `taskCreated`, `taskDelayed`, `taskDeleted`, `taskEta`, `taskFailed`, `taskStarted`, `taskUnassigned`, `taskUpdated`, `workerCreated`, `workerDeleted`, `workerDuty` |
| Additional Fields | `collection` | No | `{}` | Optional extra settings for the webhook subscription. |
| — Name | `string` | No | — | A custom name for the webhook for identification purposes. |

## Output Data

Each Onfleet notification produces one output item:

- `_trigger` — always `onfleet_webhook`
- `_timestamp` — ISO 8601 timestamp of when the request arrived
- `_webhookEvent` — the event name resolved from the notification's trigger id (for example `taskCompleted`), falling back to the trigger name Onfleet sent, or `unknown`

The Onfleet payload is merged in at the top level, so the task, worker and event details Onfleet publishes sit directly on the item. Reference them downstream by expression, e.g. `{{ $json.taskId }}`. Onfleet's URL-validation handshake is answered automatically and produces no items.

## Usage Examples

- Start a workflow when a delivery task is completed in Onfleet
- Trigger a notification when a driver goes on or off duty
- Automate dispatch when a new task is created in Onfleet
- Track delivery failures in real time when an Onfleet task fails
- Monitor SMS opt-outs from delivery recipients

## Example Configuration

Fire when a delivery task is completed, with a named subscription:

```json
{
  "id": "onfleet-trigger-1",
  "name": "Onfleet Task Completed",
  "type": "onfleet_trigger",
  "position": [250, 300],
  "parameters": {
    "triggerOn": "taskCompleted",
    "additionalFields": {
      "name": "Task Completion Webhook"
    }
  }
}
```

Track driver duty status changes:

```json
{
  "id": "onfleet-trigger-2",
  "name": "Onfleet Worker Duty Change",
  "type": "onfleet_trigger",
  "position": [250, 300],
  "parameters": {
    "triggerOn": "workerDuty",
    "additionalFields": {
      "name": "Worker Status Monitor"
    }
  }
}
```

Handle SMS opt-outs with no extra settings:

```json
{
  "id": "onfleet-trigger-3",
  "name": "Onfleet SMS Opt-Out",
  "type": "onfleet_trigger",
  "position": [250, 300],
  "parameters": {
    "triggerOn": "SMSRecipientOptOut",
    "additionalFields": {}
  }
}
```

React to failed deliveries:

```json
{
  "id": "onfleet-trigger-4",
  "name": "Onfleet Task Failed",
  "type": "onfleet_trigger",
  "position": [250, 300],
  "parameters": {
    "triggerOn": "taskFailed",
    "additionalFields": {
      "name": "Delivery Failure Handler"
    }
  }
}
```

### Trigger Behavior

- **Activation:** When the workflow is activated, a webhook endpoint is registered with the service.
- **Deactivation:** The webhook is automatically unregistered when the workflow is deactivated.
- **Payload:** The incoming webhook payload is parsed and output as workflow items.
- **Verification:** Supports signature verification where applicable.

## Tips

Entry point that fires when Onfleet sends a webhook for the selected trigger event. Choose which event to listen for (task lifecycle, worker changes, or SMS events). Onfleet validates the webhook URL with a GET handshake before activating it. Each webhook subscription listens for exactly one event type.