Skip to main content
An event is a fact that ImpelLabs reports: a message arrives, a lead comes in, a booking is made. A webhook listens to the events you choose. A workflow can start on many of them. Every delivery has the same envelope. The type is the event name and data holds the fields of the event.

Read the live list

The list of your workspace is the source of truth. It can hold more names than the tables below, such as the events of your installed apps and of your incoming webhooks.
Each item is {"name": "...", "label": "...", "line": "..."}. Only an owner or an admin can read it. When you register a webhook, you choose names from this list. A name that ends in .* takes every event that starts with the text before the star, such as message.*. A name that is not in the list returns 400.

Events of the integration feed

These events report what happens on your channels and conversations. data holds the fields shown. Delivery receipts come from the channel. A message that a person wrote from the phone of the business went out already. It is a message.sent event with source set to business_app, and no receipt event follows it.

Events that also start workflows

These events can start a workflow, and a webhook can listen to them. The fields are the ones the catalogue lists for each event. A name with a dot is a nested key: channel.name is the name key inside channel. A field that has no value for an event can be empty or missing. The customer fields are channel.name, channel.id, contact_id, contact.name, contact.language, case.id, text, business.name, agent_id, contact.tags, contact.fields.<key>, case.status, hours.open_now, hours.opens_at, hours.opens, hours.when_closed, hours.closed_message, responsible.member_id, responsible.name, responsible.on_duty, responsible.back_at, responsible.back. record.created, record.updated and record.status_changed carry the keys of what changed and never the values. Read the record with the app records calls and the record_id.

Events of apps and of incoming webhooks

An installed app raises its own events with names that start with app.. A source that sends events into ImpelLabs raises names that start with in.. A webhook can choose them. They appear in the live list once the app or the source is on. Read incoming events for the second kind.

Events that never leave

ImpelLabs delivers only the events in the live list. Other events, such as the platform’s own background work, never go to a webhook.

The test event

A test call sends the event webhook.test with data set to {"message": "A test from ImpelLabs."}. A test is sent once and is not tried again.