Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.automagik.dev/llms.txt

Use this file to discover all available pages before exploring further.

Management Commands

Commands for managing instances, automations, access control, webhooks, and the contact directory.

omni instances

Manage channel connections. See Instances concept page for detailed documentation.
omni instances list                       # List all instances
omni instances get <id>                   # Get details
omni instances create [options]           # Create a new instance
omni instances delete <id>               # Delete an instance
omni instances status <id>               # Connection status
omni instances whoami <id>               # Show phone/identity
omni instances connect <id>              # Connect
omni instances disconnect <id>           # Disconnect
omni instances restart <id>              # Restart
omni instances logout <id>               # Logout and clear session
omni instances update <id> [options]     # Update settings

Updating Instance Settings

omni instances update <id> exposes every API field. Common groups: Agent binding--agent-fk-id, --agent-provider, --agent, --agent-type, --agent-timeout, --agent-stream-mode / --no-agent-stream-mode, --agent-session-strategy. Reply filter--reply-filter-mode all|filtered, plus --reply-on-dm, --reply-on-mention, --reply-on-reply, --reply-on-name, and --reply-name-patterns. Use --clear-reply-filter to remove the filter entirely (null = allow all messages through). Message timing--debounce-mode, --debounce-min, --debounce-max, --debounce-restart-on-typing, and --debounce-group <ms>. Split delay — controls the pause between chunks when an agent reply is auto-split on double newlines:
FlagDescription
--split-delay-mode <mode>disabled, fixed, or randomized
--split-delay-fixed <ms>Fixed delay between chunks (use with mode fixed)
--split-delay-min <ms>Lower bound (use with mode randomized)
--split-delay-max <ms>Upper bound (use with mode randomized)
# Humanise multi-chunk replies with a 600–1200 ms randomised gap
omni instances update my-whatsapp \
  --enable-auto-split \
  --split-delay-mode randomized \
  --split-delay-min 600 \
  --split-delay-max 1200

# Disable split delay entirely (back-to-back chunks)
omni instances update my-whatsapp --split-delay-mode disabled
Other common flags--access-mode, --reaction-ack, --ack-timeout, --tts-voice, --tts-model, --token, --profile-name. Run omni instances update --help for the full list.

WhatsApp Pairing

omni instances qr <id>                              # Display QR code
omni instances pair <id> --phone +5511999999999     # Pairing code

Sync and Contacts

omni instances sync <id>              # Start sync
omni instances syncs <id>             # List sync jobs
omni instances contacts <id>          # List contacts
omni instances groups <id>            # List groups
omni instances profile <id> <user-id>  # Get user profile
omni instances check <id> <phone>     # Check WhatsApp registration

WhatsApp Account Management

Commands for managing the WhatsApp account associated with an instance.
omni instances update-bio <id> <status>             # Update profile bio/status
omni instances block <id> <contactId>                # Block a contact
omni instances unblock <id> <contactId>              # Unblock a contact
omni instances blocklist <id>                        # List blocked contacts
omni instances update-picture <id> [options]         # Update profile picture
omni instances remove-picture <id>                   # Remove profile picture
omni instances privacy <id>                          # Fetch privacy settings
omni instances reject-call <id> [options]            # Reject an incoming call
# Update your WhatsApp bio
omni instances update-bio wa-main "Support Bot — online 24/7"

# Block a spam contact
omni instances block wa-main 5511999999999@s.whatsapp.net

# Check who's blocked
omni instances blocklist wa-main

# Update profile picture from file
omni instances update-picture wa-main --file avatar.png

# View privacy settings
omni instances privacy wa-main

WhatsApp Group Management

Commands for creating and managing WhatsApp groups.
omni instances group-create <id> [options]           # Create a new group
omni instances group-update-picture <id> [options]   # Update group picture
omni instances group-invite <id> <groupJid>          # Get group invite link
omni instances group-revoke-invite <id> <groupJid>   # Revoke and regenerate invite link
omni instances group-join <id> <code>                # Join a group via invite code
# Create a new WhatsApp group
omni instances group-create wa-main --name "Project Team" --participants 5511999999999@s.whatsapp.net

# Get an invite link for a group
omni instances group-invite wa-main 120363123456789@g.us

# Revoke the current invite link and generate a new one
omni instances group-revoke-invite wa-main 120363123456789@g.us

# Join a group via invite code
omni instances group-join wa-main AbCdEfGh

omni automations

Manage event-driven automations that trigger on message events.
omni automations list                   # List all automations
omni automations get <id>               # Get details
omni automations create [options]       # Create an automation
omni automations update <id> [options]  # Update an automation
omni automations delete <id>           # Delete
omni automations enable <id>           # Enable
omni automations disable <id>          # Disable
omni automations test <id> [options]   # Test with mock event (dry run)
omni automations execute <id> [opts]   # Execute with real event
omni automations logs <id> [options]   # View execution logs

omni follow-up

Configure the idle-chat follow-up sequence — when a customer goes quiet after an agent reply, Omni can fire a configurable cadence of nudges and stop on inbound, handoff, archive, or window expiry. Config is layered with closest scope wins at runtime:
chat  →  instance  →  agent  →  (no config)
enabled: false at any level explicitly disables the sequence at that scope — broader scopes do not leak through.
omni follow-up get <scope> <id>          # Read config at agents|instances|chats
omni follow-up set <scope> <id> <json>   # Write config (literal JSON, @path, or `-` for stdin)
omni follow-up unset <scope> <id>        # Clear override so the next-broader scope applies

Config shape

{
  "enabled": true,
  "schedule": {
    "kind": "fixed",
    "intervalsMinutes": [30, 120, 1440]
  },
  "maxFollowUps": 3,
  "promptTemplate": "Customer has been idle for {{minutes}} min. Send a friendly nudge.",
  "stopOutsideMessagingWindow": true,
  "showTypingIndicator": true
}
FieldDescription
enabledMaster switch at this scope. false short-circuits broader scopes.
schedule.kindfixed (cycle through intervalsMinutes) or exponential (initialMinutes, factor, maxMinutes).
maxFollowUpsHard cap on follow-ups fired per sequence (1–50).
promptTemplateSynthetic prompt sent to the agent. Placeholders: {{minutes}}, {{sequenceIndex}}, {{chatName}}, {{syntheticPrompt}}.
stopOutsideMessagingWindowOn WhatsApp BSP/Cloud, disarm when the last inbound is older than 24 h. Default true.
showTypingIndicatorEmit a 2–3 s typing/presence indicator before the follow-up on channels that support it. Default true.

Examples

# Apply a default sequence to every chat on an instance
omni follow-up set instances my-whatsapp '{
  "enabled": true,
  "schedule": { "kind": "fixed", "intervalsMinutes": [30, 120] },
  "maxFollowUps": 2,
  "promptTemplate": "Friendly nudge — customer idle {{minutes}}m."
}'

# Override a single chat with an exponential schedule
omni follow-up set chats <chat-id> '{
  "enabled": true,
  "schedule": { "kind": "exponential", "initialMinutes": 15, "factor": 2, "maxMinutes": 720 },
  "maxFollowUps": 5,
  "promptTemplate": "Idle nudge #{{sequenceIndex}} for {{chatName}}"
}'

# Read from a file
omni follow-up set agents <agent-id> @./follow-up.json

# Disable for one chat without touching the agent/instance defaults
omni follow-up set chats <chat-id> '{"enabled": false, "schedule": {"kind":"fixed","intervalsMinutes":[60]}, "maxFollowUps": 1, "promptTemplate": "x"}'

# Remove the override and inherit again
omni follow-up unset chats <chat-id>
A sequence is automatically disarmed when any of these happen: customer replies, chat is handed off, chat is archived/muted, the WhatsApp 24 h window expires, the agent errors, an outbound send fails, the user clears the agent session, or the configured maxFollowUps is reached.

omni access

Manage access control rules — allow/deny lists for instances.
omni access list --instance <id>               # List rules
omni access create [options]                   # Create a rule
omni access delete <id>                        # Delete a rule
omni access mode <instance-id> [mode]          # Get/set access mode
omni access check [options]                    # Check if user has access
omni access pending <instance-id>              # List pending requests
omni access approve <instance-id> <req-id>     # Approve pairing request
omni access deny <instance-id> <req-id>        # Deny pairing request

omni webhooks

Manage webhook event sources for custom integrations.
omni webhooks list                       # List webhook sources
omni webhooks get <id>                   # Get details
omni webhooks create [options]           # Create a webhook source
omni webhooks update <id> [options]      # Update
omni webhooks delete <id>               # Delete
omni webhooks trigger [options]          # Trigger a custom event

omni persons

Search and inspect contacts in the unified person directory.
omni persons search <query>     # Search by name or phone
omni persons get <id>           # Get full person profile
omni persons presence <id>      # Check online presence and activity

Server lifecycle

These commands manage the embedded Omni server itself rather than its conversation state. Use them when bringing a host online, recovering from a crash, or upgrading.
CommandDescription
omni installBootstrap the server (non-interactive, reinstall-safe). Flags: --port (API port, default 8882), --database-url (external PostgreSQL; defaults to embedded pgserve).
omni startStart the server (idempotent — no-op if already running).
omni stopStop the server gracefully.
omni restartStop, then start. Use after env changes that need a fresh process.
omni resyncRe-pull external state (channels, contacts) without bouncing the process.
omni statusShow API health and connection info.
omni doctor [--fix]Diagnose env drift, stale keys, version mismatch. --fix repairs WARN/FAIL checks in-place; never touches ~/.omni/data/pgserve.
omni update [-y] [--no-restart]Update @automagik/omni to the latest version. By default restarts services that were already running; --no-restart updates the CLI only.
Run omni doctor after every reinstall and before opening a support ticket — it surfaces misconfigured env vars, dangling keys, and version skew between CLI and server in one pass.
Run omni <command> --help for the full flag table.