Skip to content
PaalChat Docs

Update automation

.md
PATCH
https://whatsapp.paaltech.org/api/v1/businesses/{external_id}/automations/{id}

Token ability: automations.manage ยท Authentication

Change any part, or status (active or paused). Pausing stops its waiting runs.

Path parameters

external_id string required

Your own ID for the business (Multi-SKUUL - the tenant ID).

Max 191 characters. Pattern ^[A-Za-z0-9._:-]+$.

id integer required

Body parameters

name string required

Max 191 characters.

trigger string required

One of: message_received, keyword, contact_created, conversation_status, date_reached.

trigger_config object | null

keyword: {keywords: [...]}; conversation_status: {status}; date_reached: {field: a date custom field, offset_days: -3 = three days before}.

conditions object | null

{"all": [...]} or {"any": [...]} of conditions {"field", "op", "value"} or nested groups (3 levels, 30 conditions). Fields: name, phone, email, locale, timezone, external_id, created_at, tag (has, not_has), consent.<category> (eq granted|revoked|none), last_incoming_at (within_days, older_than_days), custom.<key> (by the field's type). Ops: eq, neq, gt, gte, lt, lte, contains, starts_with, in, exists, not_exists, within_days, older_than_days.

Example {"all":[{"field":"custom.class","op":"eq","value":"SHS 2"},{"field":"custom.fee_balance","op":"gt","value":0}]}.

steps array of objects required

In order. send_template {template, language, parameters, category?, topic?}; send_text {text} (inside the 24-hour window); add_tag / remove_tag {tag}; set_status {status}; add_note {text}; notify {data} (automation.action callback); wait {minutes | hours | days}.

Max 20 items.

status string

One of: active, paused.

Responses

200

Updated.

401

unauthenticated - missing, invalid, revoked or expired token

403

missing_ability, product_suspended or product_token_required

404

not_found - not yours, or does not exist

422

validation_failed - fields are invalid; see errors.

429

rate_limited - over 300 requests/minute for this product

Errors always look like {"error": {"code", "message"}} - see Errors and status codes.