Skip to main content
When you create an invitation, Catena emits a series of webhook events as the fleet progresses through onboarding. This guide covers the exact sequence of events you can expect and how to subscribe to them.

Webhook Event Lifecycle

When a fleet opens your invitation link and completes onboarding, the following events fire in order:

Onboarding events

Operational events

After a fleet is connected and data is flowing, these events indicate issues with the connection or data ingestion:
The invitation.sent event is also emitted when an invitation is delivered by email, but this only applies if email delivery is configured.

Subscribing to Lifecycle Events

The recommended approach is to create one webhook subscription per event type without any filters using the Notifications API. This gives you a single, organization-wide stream of events that covers all fleets — both current and future ones you onboard. For example, to receive all invitation events:
Repeat for the other lifecycle event types you need:
Use wildcard patterns like invitation.* to subscribe to all actions for a resource (created, viewed, accepted, etc.) with a single subscription.
Each event payload includes a fleet_id field, so you can route events to the correct fleet in your system. Use your Share Agreements to map fleet_id back to your internal fleet_ref. See the Webhook Setup Guide for details on creating subscriptions, filtering, and signature verification.

Alternative: Using callback_url

If you prefer not to manage webhook subscriptions manually, you can set a callback_url when creating the invitation. Catena automatically creates webhook subscriptions for the lifecycle events scoped to that specific invitation.
If you already have organization-wide webhook subscriptions for the same event types, using callback_url will result in duplicate events. In that case, omit the callback_url and rely on your existing subscriptions.

Redirect URLs

In addition to webhooks, you can configure redirect URLs to send the fleet back to your application after they complete (or fail) onboarding:
string
Where to redirect the fleet after successful onboarding. Catena appends ?invitation_id={id}&fleet_ref={ref} as query parameters so you can identify which fleet completed onboarding.
string
Where to redirect the fleet if they decline the invitation, the link expires, or an error occurs. The same query parameters are appended.

TSP Filtering

By default, fleets can connect any telematics provider Catena supports. To narrow that down for a given invitation, use one of two mutually exclusive parameters:
array
Show only the listed TSPs during onboarding. Use this when you’re piloting with a specific set of providers or have partnership agreements limiting fleets to certain TSPs.
array
Show all TSPs except the listed ones. Use this when you want fleets to have broad choice but need to hide one or two providers — for example, a TSP with a known integration issue or one excluded by a partner agreement.
limit_tsps and exclude_tsps cannot be combined on the same invitation. Set one or the other, not both.
Request

Example: Handling Lifecycle Events

Here’s how you might handle the key events in your webhook endpoint:
Always return 202 Accepted immediately and process events asynchronously. See the Webhook Validation guide to verify event signatures.