Skip to main content
A channel is a place where a customer writes to the business. Each tenant connects its own channels. The Partner API connects them for you, and the tenant keeps ownership.

What the Partner API connects

The tenant’s own accounts

ImpelLabs does not give a tenant a number, a Page or a provider account. The tenant signs in to its own account with the provider and allows ImpelLabs to use it. The provider bills the tenant for its own usage. No provider credential for a customer is set on the platform. Where a route needs the platform’s own app id, the answer gives it to you, and it authorises nothing alone.

Scopes

Reading a channel needs channels:read. Connecting, changing, switching on and disconnecting need channels:write.

Switch an agent on

Connecting a channel does not start an agent. A WhatsApp number or a Page has the status pending until an agent answers on it. Switch it on with the activate call and the id of the agent in assistant_id. Send "on": false to pause. A paused channel keeps its connection. Use the id of an agent in the workspace of the tenant.

Get an agent id

The Partner API has no call to create or list agents. Agents belong to the workspace of the tenant, so make one there:
  1. The owner of the tenant signs in to the app with the owner_email address. The owner has no password, so the app sends a sign-in code to that address. You can also set a password for the owner.
  2. The owner makes the agent in the app.
  3. Read its id with GET /api/v1/agents and a workspace API token. The owner makes that token in the app. An MCP connection of the same workspace lists agents too.
Keep the id with your own tenant record. Use it in every activate call for that tenant.

Events

A change of status sends channel.status_changed to your webhook endpoint. A finished hosted WhatsApp sign-up sends channel.connected.