Skip to main content
Use client.Chatwoot to read, configure, remove, and trigger imports.

client.Chatwoot.GetAsync<TResponse>(instanceId, options?)

await client.Chatwoot.GetAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Return: Chatwoot config (Enabled, Url, AccountId, WebhookUrl, TokenMasked, etc.).

client.Chatwoot.SetAsync<TResponse>(request)

await client.Chatwoot.SetAsync<object>(new ChatwootSetRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Enabled = true,
    Url = "https://chatwoot.example.com",
    AccountId = "1",
    Token = "chatwoot-token",
    NameInbox = "VZaps",
    SignMsg = true,
    SignDelimiter = "\n",
    Number = "5511999999999",
    ReopenConversation = true,
    ConversationPending = false,
    ImportContacts = true,
    ImportMessages = false,
    DaysLimitImportMessages = 7,
    AutoCreate = true,
    Organization = "VZaps",
    Logo = "https://example.com/logo.png",
    IgnoreGroups = true,
});
Return: saved config (includes WebhookUrl when generated).

client.Chatwoot.DeleteAsync<TResponse>(instanceId, options?)

await client.Chatwoot.DeleteAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Return: integration removal confirmation.

client.Chatwoot.TriggerImportAsync<TResponse>(request)

What accepts contacts, messages, or all.
await client.Chatwoot.TriggerImportAsync<object>(new ChatwootImportRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    What = "all",
});
Return: import job confirmation (contacts, messages, or all).