Skip to main content

Actors Module

The Actors module represents entities (people, bots, or other participants) that interact within a project. A common use case is storing WhatsApp contacts, where externalId holds the phone number.

Overview

An Actor belongs to a project and has a display name, an optional type, and an optional externalId. The externalId is unique within a project and is designed for correlating actors with external systems — for example, mapping a WhatsApp phone number to a known contact.

Actors are identified by an id prefixed with act_. The internal database primary key is never returned.

Data Model

FieldTypeDescription
idstringPublic identifier prefixed with act_
projectIdstringID of the owning project
namestringDisplay name of the actor
typestringOptional actor type (e.g. customer, agent)
externalIdstringOptional external identifier (e.g. WhatsApp phone number). Unique within the project
createdAtstringISO 8601 creation timestamp
updatedAtstringISO 8601 last-updated timestamp

Key Concepts

externalId

externalId is a free-form string that lets you correlate an Actor with a record in an external system. It is enforced unique per project at the database level — two actors in the same project cannot share the same externalId. Across different projects, the same externalId value is allowed.

A null / absent externalId is never considered a duplicate — PostgreSQL's NULL semantics are preserved.

Filtering

GET /actors accepts an optional externalId query parameter. This lets you look up an actor by their external identifier (e.g. resolve a WhatsApp number to an Actor record) without knowing their act_ ID.

Permissions

Actor operations are governed by per-project policies. Grant the following permissions:

ActionPermissionREST EndpointMCP Tool
List actorsactors:ListActorsGET /api/v1/actorslist-actors
Get actor by IDactors:GetActorGET /api/v1/actors/:idget-actor
Create actoractors:CreateActorPOST /api/v1/actorscreate-actor
Update actoractors:UpdateActorPATCH /api/v1/actors/:idupdate-actor
Delete actoractors:DeleteActorDELETE /api/v1/actors/:iddelete-actor