Skip to main content
Use $vzaps->chatwoot() to connect a VZaps instance to Chatwoot. Common fields on all calls:
FieldTypeRequiredDescription
instanceIdstringYesInstance ID.
instanceTokenstringYesInstance token.

chatwoot()->get($instanceId, $instanceToken = null)

Reads the current configuration, including webhookUrl and tokenMasked when applicable.
$chatwoot = $vzaps->chatwoot()->get('VZ...', 'instance-token');

print_r($chatwoot);
Return: Chatwoot config (enabled, url, account_id, webhook_url, token_masked, etc.).

chatwoot()->set($request)

Creates or updates the instance Chatwoot integration.
$saved = $vzaps->chatwoot()->set([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'enabled' => true,
    'url' => 'https://app.chatwoot.com',
    'accountId' => '1',
    'token' => 'chatwoot-api-token',
    'nameInbox' => 'WhatsApp VZaps',
    'signMsg' => true,
    'signDelimiter' => "\n",
    'number' => '5511999999999',
    'reopenConversation' => true,
    'conversationPending' => false,
    'importContacts' => true,
    'importMessages' => true,
    'daysLimitImportMessages' => 30,
    'autoCreate' => true,
    'organization' => 'My company',
    'logo' => '',
    'ignoreGroups' => false,
    'ignoreJids' => [],
]);

print_r($saved);
Return: saved config (includes webhook_url when generated). Main payload fields:
FieldTypeRequiredDescription
enabledbooleanYesEnables or disables the integration.
urlstringYesChatwoot base URL.
accountIdstringYesNumeric account ID.
tokenstringYesChatwoot API token.
nameInboxstringNoAPI inbox name.
autoCreatebooleanNoCreates inbox and webhook automatically.
importContactsbooleanNoImports contacts in the initial flow.
importMessagesbooleanNoImports messages in the initial flow.
daysLimitImportMessagesnumberNoMessage import window in days. Minimum 1.
ignoreGroupsbooleanNoIgnores group messages.
ignoreJidsarrayNoJIDs to ignore.
Copy webhookUrl from the response into the Chatwoot API inbox when autoCreate does not apply by itself.

chatwoot()->delete($instanceId, $instanceToken = null)

Removes the Chatwoot integration from the instance.
$vzaps->chatwoot()->delete('VZ...', 'instance-token');
Return: integration removal confirmation.

chatwoot()->triggerImport($request)

Triggers a manual import of contacts, messages, or both. Import contacts:
$vzaps->chatwoot()->triggerImport([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'what' => 'contacts',
]);
Return: import job confirmation (contacts, messages, or all). Import messages:
$vzaps->chatwoot()->triggerImport([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'what' => 'messages',
]);
Import everything:
$vzaps->chatwoot()->triggerImport([
    'instanceId' => 'VZ...',
    'instanceToken' => 'instance-token',
    'what' => 'all',
]);
Accepted values for what: contacts, messages, all.