Skip to content

Documentation

Build with Engage

Connect customer data, business events, and communication channels to build automated journeys with workflows and AI.

AI assistant

It reads every customer message, drafts a reply from your catalog and your own facts, and notes who is interested in what. A person sends the reply - or, if you allow it, the AI sends the ones it is sure of.

Owners only

Turning it on, allowing automatic replies, and setting its facts and monthly limit need the owner role. Everyone sees and uses its suggestions in the inbox.

What it does with each message

  • Reads it - what the customer wants (asking the price, wants to buy, a complaint…), shown as a small label under the message, and which catalog products they mean.
  • Remembers interest - a question about a product records a product.interest event, which can start a workflow (“asked about it, no sale in a day”), and tags the customer interested: blue ankara dress, which a campaign can target.
  • Suggests a reply above the reply box: Send, Edit, or Dismiss. A burst of quick messages is answered once, from the last.

What it may say

Prices, sizes and stock come only from the catalog; delivery, payment, returns and hours from the business facts and published knowledge in Settings → AI assistant. The model is instructed not to invent facts. Review its suggestions; model grounding is not an independent factual verification.

Sending without a person

Business knowledge and customer orders

Settings → AI assistant now includes Business knowledge. Owners can create, edit, publish, withdraw (clear Published and save), or delete FAQs and policies. Members can read entries and preview published sources. Each save increments a version; conflicting edits require a reload.

When AI is enabled, Engage sends up to three matching published entries and the current customer's three most recent order records to Anthropic, alongside the existing catalog and facts. Order context contains only the reference, recorded status, source and timestamp. It is not proof of payment or delivery. Other customers' records, private notes and credentials are excluded.

Any reply drafted with this context waits for staff approval, even when automatic replies are enabled. Open Retrieved context beside the suggestion to review the snapshots, knowledge versions and timestamps. These are retrieved sources, not verified citations. Editing or withdrawing knowledge affects future drafts; existing snapshots remain until customer erasure or message retention clears them.

Knowledge limits and API

A workspace can store 100 entries. Titles allow 160 characters and answers 4000 characters. The preview accepts a question of up to 1000 characters and returns up to three published entries using matching words. It is not semantic search or a generated answer, and uses no AI credits. Draft entries never appear in preview results. Include the words customers use in your questions and answers.

GET /v1/ai/knowledge
GET /v1/ai/knowledge/preview?question=delivery
PUT /v1/ai/knowledge/{id}
DELETE /v1/ai/knowledge/{id}?version=1

// PUT: use a new UUID and version 0 to create.
// Editing requires the version returned by GET.
{
  "title": "Delivery areas",
  "body": "We deliver within Lagos.",
  "published": true,
  "version": 0
}

These endpoints require a dashboard session. Only owners can write or delete entries; API keys cannot access them. Workspace isolation applies to reads, previews, and changes.

Automatic replies

Off unless an owner turns on automatic replies, and even then a reply goes out only when all of these hold:

  • the model reports it is grounded in the catalog and facts, with no retrieved knowledge or order context;
  • the AI is confident what was asked, and it is not a complaint, unhappy feedback or an opt-out;
  • nobody is handling the conversation (“I'm handling this” stops it);
  • the customer wrote within the last 24 hours - WhatsApp's reply window.

Anything else waits in the inbox. Messages it sent are marked AI in the thread.

What it costs, and what stops it

The AI is paid for in credits. A credit is a tenth of a US cent; reading and replying to one message costs a few of them, and a small shop typically uses a few thousand a month. Your plan includes an allowance each month, and you can top up beyond it. Every call is recorded with what it cost.

There are four ways it stops, and the reason is always on the settings:

FieldTypeNotes
creditsbalanceThe credit balance has run out. Top up, or wait for next month’s plan allowance. It starts again by itself when credit arrives.
spending_limityour ceilingAn optional monthly ceiling on credits, set on the wallet. Nothing is spent past it until the month turns.
capyour ceilingA second, older monthly ceiling, in cents rather than credits (monthlyCapCents, default $5). Still enforced, and whichever ceiling is reached first is the one that stops it.
spikesafetyIt read far more messages in an hour than usual. A person lifts this one, because the cause is usually worth looking at.

The owners are emailed whichever it is. A pause for cap lifts by itself when the month turns; the others lift when the thing that caused them is resolved.

Two ceilings, both live

monthlyCapCents predates credits and was not removed when they arrived, so a workspace can be stopped by either. If the AI pauses with credit still on the balance, this is usually why.

Through the API

FieldTypeNotes
GET /v1/ai/settingsany memberSwitches, facts, tone, both ceilings, the pause reason, this month’s spend, and the local languages on file for the market.
PUT /v1/ai/settingsownerenabled, autoReply, tone, facts, monthlyCapCents, localLanguageEnabled - only what is sent changes.
GET /v1/billingany memberThe credit balance, what has gone this month, and the wallet’s spending limit.
PUT /v1/billing/wallet/spending-limitownerThe monthly credit ceiling, or null for none.
POST /v1/ai/settings/resumeownerLifts a pause.
GET /v1/conversations/{id}/suggestionany memberThe reply waiting for a person; 204 when none.
POST /v1/ai/suggestions/{id}/sendany memberSends it, optionally with edited text; it goes out as that person’s.
POST /v1/conversations/{id}/summaryany memberThree lines on the conversation for whoever picks it up.

PUT /v1/ai/settings

{
  "enabled": true,
  "autoReply": false,
  "facts": "We deliver in Lagos for N2,000 (1-2 days). Pay by transfer or on delivery.",
  "monthlyCapCents": 500,
  "localLanguageEnabled": true
}

localLanguageEnabled tells the AI to read and reply in the languages customers write in where the workspace is billed - Pidgin, Yoruba, Igbo and Hausa in Nigeria. It is the switch under AI › What it may say in the dashboard.

There are two gates and the business controls only one of them. The market has to have languages on file, which today means Nigeria and nowhere else, and the switch has to be on. GET /v1/ai/settings answers both: localLanguages is the market’s phrase, or null where it has none - in which case the switch does nothing either way, and the dashboard says so rather than offering a setting with no effect.

Next

Catalog →

What the AI answers prices and stock from.