Skip to main content
Use client.TypeBots to list, create, update, delete, and control TypeBot sessions.

client.TypeBots.ListAsync<TResponse>(instanceId, options?)

await client.TypeBots.ListAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Return: array of TypeBot configs for the instance (IDs, triggers, priority, etc.).

client.TypeBots.CreateAsync<TResponse>(request)

await client.TypeBots.CreateAsync<object>(new TypeBotRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Enabled = true,
    Description = "Support bot",
    TypebotUrl = "https://app.typebot.io",
    PublicId = "my-bot",
    TriggerType = "keyword",
    TriggerOperator = "equals",
    TriggerValue = "start",
    Priority = 1,
    ExpireInMinutes = 60,
    KeywordFinish = "exit",
    DefaultDelayMs = 1000,
    UnknownMessage = "I did not understand your message.",
    ListenFromMe = false,
    StopBotFromMe = true,
    KeepOpen = false,
    DebounceMs = 500,
    IgnoreGroups = true,
    TranscribeAudio = false,
});
Return: created config, including TypebotId for later updates.

client.TypeBots.UpdateAsync<TResponse>(request)

await client.TypeBots.UpdateAsync<object>(new TypeBotMutationRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    TypebotId = "typebot_123",
    Enabled = false,
});
Return: updated config or { Status: "ok" }.

client.TypeBots.DeleteAsync<TResponse>(request)

await client.TypeBots.DeleteAsync<object>(new TypeBotMutationRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    TypebotId = "typebot_123",
});
Return: deletion confirmation ({ Status: "ok" } or equivalent message).

client.TypeBots.StartSessionAsync<TResponse>(request)

await client.TypeBots.StartSessionAsync<object>(new TypeBotStartSessionRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    TypebotId = "typebot_123",
    Phone = "5511999999999",
    PushName = "Maria",
    Message = "start",
});
Return: started session (session UUID, contact, opened status).

client.TypeBots.ListSessionsAsync<TResponse>(instanceId, options?)

await client.TypeBots.ListSessionsAsync<object>("VZ...", new InstanceRequestOptions { InstanceToken = "instance-token" });
Return: session list (opened, paused, closed) per contact/flow.

client.TypeBots.PauseSessionAsync<TResponse>(request)

await client.TypeBots.PauseSessionAsync<object>(new TypeBotSessionRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Session = "5511999999999",
});
Return: session with paused status.

client.TypeBots.CloseSessionAsync<TResponse>(request)

await client.TypeBots.CloseSessionAsync<object>(new TypeBotSessionRequest
{
    InstanceId = "VZ...",
    InstanceToken = "instance-token",
    Session = "5511999999999",
});
Return: closed session or confirmation by phone number.