Sign in to the WhatsApp agent console
Select or create a contact.
Select or create a company.
Quote picker only lists active products. Currency default comes from settings.
| SKU | Name | Price | Active |
|---|
Approved templates only. Audience preview is stored as recipients on start; skips (no WA id, blocked, opt-in) are recorded.
| Name | Status | Stats |
|---|
| Contact | WA | Status | Error |
|---|
Meta template registry. Sequences and broadcasts can only pick approved templates. Categories and languages come from the API.
| Name | Meta | Lang | Category | Status |
|---|
Cadence steps use template keys from the database. WhatsApp never sends a free-text body from the engine.
Weighted = open amount × stage win probability from the pipeline. Periods come from settings.
| Stage | Win % | Open | Weighted | Deals |
|---|
| Owner | Open | Weighted | Won in period | Deals |
|---|
| ID | Name | Telegram ID | Role | Permissions | Active | Actions |
|---|
| Number | Reason | When |
|---|
filters_json example: {"type":"domain_suffix","value":".example.com"}. Domain suffix matches company domain/website host.
Fields and operators come from GET /api/segments/meta.
Triggers and actions come from GET /api/automations/meta. Toggle without deploy.
Field types and object types come from the API. New fields appear on forms without a deploy.
condition_json is {"field":"discount_pct","op":"gte","value":15}. Fields, operators, and roles come from GET /api/approval-rules/meta. Edit without a deploy.
Templates are stored in the database. Missing keys log an error and send the key name.
Tokens are encrypted at rest. After save they are never shown again — only a mask.
| ID | Label | Active |
|---|
| ID | Label | Active |
|---|