Skip to main content
Glama

Create automation

create_automation

⚡ AUTOMAÇÕES (event-triggered, one-shot) — Cria um fluxo de automação reativo que dispara quando um evento ocorre (order_created, order_submitted, tag:, booking_created, flow_completed:). Não serve para cadências de prospecção (sequências multi-touch ao longo de dias com WhatsApp + email + LinkedIn), que são criadas com create_sequence.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "name": "<name>",
      "trigger": "<trigger>",
      "actions": "<actions>"
    },
    "name": "create_automation"
  }
}

Input Schema

NameRequiredDescriptionDefault
nameYesNome do fluxo de automação
actionsYesArray JSON com as ações do fluxo. Cada item precisa de "id" (string única), "type" e "config" (objeto com os campos daquele tipo — os campos do tipo ficam dentro de "config", não soltos no item). Tipos e campos de config: send_whatsapp {whatsappMessage} ou template {whatsappMessageType:"template", whatsappTemplateName, whatsappTemplateLanguage, whatsappTemplateParams, whatsappTemplateBody} (whatsappTemplateBody = corpo do template com {{1}},{{2}}... — usado pro histórico da conversa e, em conexões WhatsApp sem conceito de template aprovado, como fallback de texto; envio pelo provedor WhatsApp ativo da conta (Meta ou GupShup)); send_email {emailSubject, emailBody, emailIncludeHost:"true"|"false" (manda cópia também pro {{order.hostEmail}}, ex: closer da reunião — padrão false, só o lead), emailSenderConnectionId (opcional, id de uma Connection tipo gmail específica — sem isso usa o "Padrão para envio" da conta em Settings → Gmail, ou a primeira conta Gmail conectada)} — requer uma conta Gmail conectada (ver Settings → Gmail); send_webhook {webhookUrl, webhookMethod, webhookPayload, webhookHeaders}; add_contact_tag {contactTag}; move_to_stage {pipelineStageId}; advance_process_step {advanceProcessTemplateId?} (conclui a próxima etapa pendente do processo ativo do contato — do modelo informado ou o mais recente; não dispara o gatilho processo_etapa, para não concluir tudo em cascata); check_tag {checkTag, checkTagMode:"has"|"missing"} (PARA o fluxo inteiro se a condição não bater — use pra "só continua se..."); condition {conditionTag, conditionType:"has_tag"|"missing_tag"|"has_booking"|"missing_booking"} (RAMIFICA em vez de parar — nunca interrompe o fluxo, só decide qual caminho seguir via os campos next/branches da própria ação; has_tag/missing_tag exigem conditionTag; has_booking/missing_booking IGNORAM conditionTag e em vez disso checam se order.customerEmail tem uma reserva CONFIRMADA na agenda conectada — hoje só contas com NeetoCal suportam essa checagem; útil pra confirmar um "já agendou" vindo de um sistema externo antes de assumir que é verdade); delay {delayAmount, delayUnit}; trigger_flow {flowId}; notify_team {notifyTitle, notifyMessage} (avisa o dono da conta por push + e-mail, suporta {{order.*}}, NÃO pausa o agente nem envia nada ao contato; cooldown de 1h por contato); meta_conversion {metaEventName?, metaTestEventCode?} (avisa a Meta pela API de Conversões para mensagens que o contato vindo de anúncio de clique para o WhatsApp virou resultado; usa o ctwa_clid do contato e a conexão Meta da conversa; padrão LeadSubmitted; uma vez por contato e evento; contato sem clique é ignorado; metaTestEventCode manda para Eventos de teste), rd_conversion {rdConversionIdentifier} (registra uma conversão no RD Station Marketing conectado em Minha Conta › RD Station, com o e-mail e o telefone do contato; ex.: radar-qualificado, radar-reuniao-agendada, radar-venda). Leads que chegam pelo app do RD Station disparam o gatilho rd_<identificador da conversão>. Ex: [{"id":"1","type":"send_whatsapp","config":{"whatsappMessage":"Olá {{order.customerName}}!"}},{"id":"2","type":"delay","config":{"delayAmount":"1","delayUnit":"hours"}},{"id":"3","type":"add_contact_tag","config":{"contactTag":"Atendido"}}]. Por padrão as ações executam na ordem do array (comportamento clássico). Pra desviar o fluxo, cada ação aceita opcionalmente "next" (string = id da próxima ação, ignora a ordem do array) e, só em ações do tipo "condition", "branches": {"onTrue": "<id>", "onFalse": "<id>"} (pra onde ir conforme o resultado da condição). Ex. com ramificação: [{"id":"1","type":"condition","config":{"conditionTag":"VIP","conditionType":"has_tag"},"branches":{"onTrue":"2a","onFalse":"2b"}},{"id":"2a","type":"send_whatsapp","config":{"whatsappMessage":"Oferta especial pra você!"}},{"id":"2b","type":"send_whatsapp","config":{"whatsappMessage":"Conheça nossos planos"}}].
triggerYesGatilho do fluxo. Exemplos: "order_created", "order_submitted", "tag:VIP", "booking_created"/"booking_cancelled"/"booking_rescheduled" (agente confirmou/cancelou/reagendou um compromisso via schedule_appointment/cancel_appointment/reschedule_appointment — disponibilizam {{order.hostName}}/{{order.hostEmail}}/{{order.appointmentDate}}/{{order.appointmentTime}}/{{order.meetingUrl}} além dos campos padrão, útil p/ sincronizar CRM externo ou mandar e-mail de confirmação), "flow_completed:<id>". Também aceita nomes de evento customizados vindos de webhooks externos — ex: MinhaGrana usa o nome do evento (ex: "mg_pagou") como trigger; RD Station Marketing usa o valor do parâmetro ?event= configurado na URL do webhook (/api/webhooks/rdstation-marketing?userId=<id>&event=<nome> — ex: "rdstation_mql" para disparar quando um lead vira MQL numa automação de marketing). Gatilhos de funil e processo (07/11/2026): "etapa:<stageId>" (contato entrou nessa etapa, por qualquer caminho; stageId de list_pipeline_stages; {{order.serviceName}} = nome da etapa), "processo_etapa:<templateId>" ou "processo_etapa:*" (alguém concluiu uma etapa de processo daquele modelo ou de qualquer um; {{order.serviceName}} = nome da etapa), "deal_won" (entrou numa etapa de ganho de funil comercial).
is_activeNoSe o fluxo deve iniciar ativo (padrão: "true")

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • changedInput schema / properties / actions / description
      Previous value: -"Array JSON com as ações do fluxo. Cada item precisa de \"id\" (string única), \"type\" e \"config\" (objeto com os campos daquele tipo — os campos do tipo ficam dentro de \"config\", não soltos no item). Tipos e campos de config: send_whatsapp {whatsappMessage} ou template {whatsappMessageType:\"template\", whatsappTemplateName, whatsappTemplateLanguage, whatsappTemplateParams, whatsappTemplateBody} (whatsappTemplateBody = corpo do template com {{1}},{{2}}... — usado pro histórico da conversa e, em conexões WhatsApp sem conceito de template aprovado, como fallback de texto; envio pelo provedor WhatsApp ativo da conta (Meta ou GupShup)); send_email {emailSubject, emailBody, emailIncludeHost:\"true\"|\"false\" (manda cópia também pro {{order.hostEmail}}, ex: closer da reunião — padrão false, só o lead), emailSenderConnectionId (opcional, id de uma Connection tipo gmail específica — sem isso usa o \"Padrão para envio\" da conta em Settings → Gmail, ou a primeira conta Gmail conectada)} — requer uma conta Gmail conectada (ver Settings → Gmail); send_webhook {webhookUrl, webhookMethod, webhookPayload, webhookHeaders}; add_contact_tag {contactTag}; move_to_stage {pipelineStageId}; check_tag {checkTag, checkTagMode:\"has\"|\"missing\"} (PARA o fluxo inteiro se a condição não bater — use pra \"só continua se...\"); condition {conditionTag, conditionType:\"has_tag\"|\"missing_tag\"|\"has_booking\"|\"missing_booking\"} (RAMIFICA em vez de parar — nunca interrompe o fluxo, só decide qual caminho seguir via os campos next/branches da própria ação; has_tag/missing_tag exigem conditionTag; has_booking/missing_booking IGNORAM conditionTag e em vez disso checam se order.customerEmail tem uma reserva CONFIRMADA na agenda conectada — hoje só contas com NeetoCal suportam essa checagem; útil pra confirmar um \"já agendou\" vindo de um sistema externo antes de assumir que é verdade); delay {delayAmount, delayUnit}; trigger_flow {flowId}; notify_team {notifyTitle, notifyMessage} (avisa o dono da conta por push + e-mail, suporta {{order.*}}, NÃO pausa o agente nem envia nada ao contato; cooldown de 1h por contato); meta_conversion {metaEventName?, metaTestEventCode?} (avisa a Meta pela API de Conversões para mensagens que o contato vindo de anúncio de clique para o WhatsApp virou resultado; usa o ctwa_clid do contato e a conexão Meta da conversa; padrão LeadSubmitted; uma vez por contato e evento; contato sem clique é ignorado; metaTestEventCode manda para Eventos de teste), rd_conversion {rdConversionIdentifier} (registra uma conversão no RD Station Marketing conectado em Minha Conta › RD Station, com o e-mail e o telefone do contato; ex.: radar-qualificado, radar-reuniao-agendada, radar-venda). Leads que chegam pelo app do RD Station disparam o gatilho rd_<identificador da conversão>. Ex: [{\"id\":\"1\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Olá {{order.customerName}}!\"}},{\"id\":\"2\",\"type\":\"delay\",\"config\":{\"delayAmount\":\"1\",\"delayUnit\":\"hours\"}},{\"id\":\"3\",\"type\":\"add_contact_tag\",\"config\":{\"contactTag\":\"Atendido\"}}]. Por padrão as ações executam na ordem do array (comportamento clássico). Pra desviar o fluxo, cada ação aceita opcionalmente \"next\" (string = id da próxima ação, ignora a ordem do array) e, só em ações do tipo \"condition\", \"branches\": {\"onTrue\": \"<id>\", \"onFalse\": \"<id>\"} (pra onde ir conforme o resultado da condição). Ex. com ramificação: [{\"id\":\"1\",\"type\":\"condition\",\"config\":{\"conditionTag\":\"VIP\",\"conditionType\":\"has_tag\"},\"branches\":{\"onTrue\":\"2a\",\"onFalse\":\"2b\"}},{\"id\":\"2a\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Oferta especial pra você!\"}},{\"id\":\"2b\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Conheça nossos planos\"}}]."New value: +"Array JSON com as ações do fluxo. Cada item precisa de \"id\" (string única), \"type\" e \"config\" (objeto com os campos daquele tipo — os campos do tipo ficam dentro de \"config\", não soltos no item). Tipos e campos de config: send_whatsapp {whatsappMessage} ou template {whatsappMessageType:\"template\", whatsappTemplateName, whatsappTemplateLanguage, whatsappTemplateParams, whatsappTemplateBody} (whatsappTemplateBody = corpo do template com {{1}},{{2}}... — usado pro histórico da conversa e, em conexões WhatsApp sem conceito de template aprovado, como fallback de texto; envio pelo provedor WhatsApp ativo da conta (Meta ou GupShup)); send_email {emailSubject, emailBody, emailIncludeHost:\"true\"|\"false\" (manda cópia também pro {{order.hostEmail}}, ex: closer da reunião — padrão false, só o lead), emailSenderConnectionId (opcional, id de uma Connection tipo gmail específica — sem isso usa o \"Padrão para envio\" da conta em Settings → Gmail, ou a primeira conta Gmail conectada)} — requer uma conta Gmail conectada (ver Settings → Gmail); send_webhook {webhookUrl, webhookMethod, webhookPayload, webhookHeaders}; add_contact_tag {contactTag}; move_to_stage {pipelineStageId}; advance_process_step {advanceProcessTemplateId?} (conclui a próxima etapa pendente do processo ativo do contato — do modelo informado ou o mais recente; não dispara o gatilho processo_etapa, para não concluir tudo em cascata); check_tag {checkTag, checkTagMode:\"has\"|\"missing\"} (PARA o fluxo inteiro se a condição não bater — use pra \"só continua se...\"); condition {conditionTag, conditionType:\"has_tag\"|\"missing_tag\"|\"has_booking\"|\"missing_booking\"} (RAMIFICA em vez de parar — nunca interrompe o fluxo, só decide qual caminho seguir via os campos next/branches da própria ação; has_tag/missing_tag exigem conditionTag; has_booking/missing_booking IGNORAM conditionTag e em vez disso checam se order.customerEmail tem uma reserva CONFIRMADA na agenda conectada — hoje só contas com NeetoCal suportam essa checagem; útil pra confirmar um \"já agendou\" vindo de um sistema externo antes de assumir que é verdade); delay {delayAmount, delayUnit}; trigger_flow {flowId}; notify_team {notifyTitle, notifyMessage} (avisa o dono da conta por push + e-mail, suporta {{order.*}}, NÃO pausa o agente nem envia nada ao contato; cooldown de 1h por contato); meta_conversion {metaEventName?, metaTestEventCode?} (avisa a Meta pela API de Conversões para mensagens que o contato vindo de anúncio de clique para o WhatsApp virou resultado; usa o ctwa_clid do contato e a conexão Meta da conversa; padrão LeadSubmitted; uma vez por contato e evento; contato sem clique é ignorado; metaTestEventCode manda para Eventos de teste), rd_conversion {rdConversionIdentifier} (registra uma conversão no RD Station Marketing conectado em Minha Conta › RD Station, com o e-mail e o telefone do contato; ex.: radar-qualificado, radar-reuniao-agendada, radar-venda). Leads que chegam pelo app do RD Station disparam o gatilho rd_<identificador da conversão>. Ex: [{\"id\":\"1\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Olá {{order.customerName}}!\"}},{\"id\":\"2\",\"type\":\"delay\",\"config\":{\"delayAmount\":\"1\",\"delayUnit\":\"hours\"}},{\"id\":\"3\",\"type\":\"add_contact_tag\",\"config\":{\"contactTag\":\"Atendido\"}}]. Por padrão as ações executam na ordem do array (comportamento clássico). Pra desviar o fluxo, cada ação aceita opcionalmente \"next\" (string = id da próxima ação, ignora a ordem do array) e, só em ações do tipo \"condition\", \"branches\": {\"onTrue\": \"<id>\", \"onFalse\": \"<id>\"} (pra onde ir conforme o resultado da condição). Ex. com ramificação: [{\"id\":\"1\",\"type\":\"condition\",\"config\":{\"conditionTag\":\"VIP\",\"conditionType\":\"has_tag\"},\"branches\":{\"onTrue\":\"2a\",\"onFalse\":\"2b\"}},{\"id\":\"2a\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Oferta especial pra você!\"}},{\"id\":\"2b\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Conheça nossos planos\"}}]."
    • changedInput schema / properties / trigger / description
      Previous value: -"Gatilho do fluxo. Exemplos: \"order_created\", \"order_submitted\", \"tag:VIP\", \"booking_created\"/\"booking_cancelled\"/\"booking_rescheduled\" (agente confirmou/cancelou/reagendou um compromisso via schedule_appointment/cancel_appointment/reschedule_appointment — disponibilizam {{order.hostName}}/{{order.hostEmail}}/{{order.appointmentDate}}/{{order.appointmentTime}}/{{order.meetingUrl}} além dos campos padrão, útil p/ sincronizar CRM externo ou mandar e-mail de confirmação), \"flow_completed:<id>\". Também aceita nomes de evento customizados vindos de webhooks externos — ex: MinhaGrana usa o nome do evento (ex: \"mg_pagou\") como trigger; RD Station Marketing usa o valor do parâmetro ?event= configurado na URL do webhook (/api/webhooks/rdstation-marketing?userId=<id>&event=<nome> — ex: \"rdstation_mql\" para disparar quando um lead vira MQL numa automação de marketing)."New value: +"Gatilho do fluxo. Exemplos: \"order_created\", \"order_submitted\", \"tag:VIP\", \"booking_created\"/\"booking_cancelled\"/\"booking_rescheduled\" (agente confirmou/cancelou/reagendou um compromisso via schedule_appointment/cancel_appointment/reschedule_appointment — disponibilizam {{order.hostName}}/{{order.hostEmail}}/{{order.appointmentDate}}/{{order.appointmentTime}}/{{order.meetingUrl}} além dos campos padrão, útil p/ sincronizar CRM externo ou mandar e-mail de confirmação), \"flow_completed:<id>\". Também aceita nomes de evento customizados vindos de webhooks externos — ex: MinhaGrana usa o nome do evento (ex: \"mg_pagou\") como trigger; RD Station Marketing usa o valor do parâmetro ?event= configurado na URL do webhook (/api/webhooks/rdstation-marketing?userId=<id>&event=<nome> — ex: \"rdstation_mql\" para disparar quando um lead vira MQL numa automação de marketing). Gatilhos de funil e processo (07/11/2026): \"etapa:<stageId>\" (contato entrou nessa etapa, por qualquer caminho; stageId de list_pipeline_stages; {{order.serviceName}} = nome da etapa), \"processo_etapa:<templateId>\" ou \"processo_etapa:*\" (alguém concluiu uma etapa de processo daquele modelo ou de qualquer um; {{order.serviceName}} = nome da etapa), \"deal_won\" (entrou numa etapa de ganho de funil comercial)."
  2. Changed1 schema field changed
    • changedInput schema / properties / actions / description
      Previous value: -"Array JSON com as ações do fluxo. Cada item precisa de \"id\" (string única), \"type\" e \"config\" (objeto com os campos daquele tipo — os campos do tipo ficam dentro de \"config\", não soltos no item). Tipos e campos de config: send_whatsapp {whatsappMessage} ou template {whatsappMessageType:\"template\", whatsappTemplateName, whatsappTemplateLanguage, whatsappTemplateParams, whatsappTemplateBody} (whatsappTemplateBody = corpo do template com {{1}},{{2}}... — usado pro histórico da conversa e, em conexões WhatsApp sem conceito de template aprovado, como fallback de texto; envio pelo provedor WhatsApp ativo da conta (Meta ou GupShup)); send_email {emailSubject, emailBody, emailIncludeHost:\"true\"|\"false\" (manda cópia também pro {{order.hostEmail}}, ex: closer da reunião — padrão false, só o lead), emailSenderConnectionId (opcional, id de uma Connection tipo gmail específica — sem isso usa o \"Padrão para envio\" da conta em Settings → Gmail, ou a primeira conta Gmail conectada)} — requer uma conta Gmail conectada (ver Settings → Gmail); send_webhook {webhookUrl, webhookMethod, webhookPayload, webhookHeaders}; add_contact_tag {contactTag}; move_to_stage {pipelineStageId}; check_tag {checkTag, checkTagMode:\"has\"|\"missing\"} (PARA o fluxo inteiro se a condição não bater — use pra \"só continua se...\"); condition {conditionTag, conditionType:\"has_tag\"|\"missing_tag\"|\"has_booking\"|\"missing_booking\"} (RAMIFICA em vez de parar — nunca interrompe o fluxo, só decide qual caminho seguir via os campos next/branches da própria ação; has_tag/missing_tag exigem conditionTag; has_booking/missing_booking IGNORAM conditionTag e em vez disso checam se order.customerEmail tem uma reserva CONFIRMADA na agenda conectada — hoje só contas com NeetoCal suportam essa checagem; útil pra confirmar um \"já agendou\" vindo de um sistema externo antes de assumir que é verdade); delay {delayAmount, delayUnit}; trigger_flow {flowId}; notify_team {notifyTitle, notifyMessage} (avisa o dono da conta por push + e-mail, suporta {{order.*}}, NÃO pausa o agente nem envia nada ao contato; cooldown de 1h por contato); rd_conversion {rdConversionIdentifier} (registra uma conversão no RD Station Marketing conectado em Minha Conta › RD Station, com o e-mail e o telefone do contato; ex.: radar-qualificado, radar-reuniao-agendada, radar-venda). Leads que chegam pelo app do RD Station disparam o gatilho rd_<identificador da conversão>. Ex: [{\"id\":\"1\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Olá {{order.customerName}}!\"}},{\"id\":\"2\",\"type\":\"delay\",\"config\":{\"delayAmount\":\"1\",\"delayUnit\":\"hours\"}},{\"id\":\"3\",\"type\":\"add_contact_tag\",\"config\":{\"contactTag\":\"Atendido\"}}]. Por padrão as ações executam na ordem do array (comportamento clássico). Pra desviar o fluxo, cada ação aceita opcionalmente \"next\" (string = id da próxima ação, ignora a ordem do array) e, só em ações do tipo \"condition\", \"branches\": {\"onTrue\": \"<id>\", \"onFalse\": \"<id>\"} (pra onde ir conforme o resultado da condição). Ex. com ramificação: [{\"id\":\"1\",\"type\":\"condition\",\"config\":{\"conditionTag\":\"VIP\",\"conditionType\":\"has_tag\"},\"branches\":{\"onTrue\":\"2a\",\"onFalse\":\"2b\"}},{\"id\":\"2a\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Oferta especial pra você!\"}},{\"id\":\"2b\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Conheça nossos planos\"}}]."New value: +"Array JSON com as ações do fluxo. Cada item precisa de \"id\" (string única), \"type\" e \"config\" (objeto com os campos daquele tipo — os campos do tipo ficam dentro de \"config\", não soltos no item). Tipos e campos de config: send_whatsapp {whatsappMessage} ou template {whatsappMessageType:\"template\", whatsappTemplateName, whatsappTemplateLanguage, whatsappTemplateParams, whatsappTemplateBody} (whatsappTemplateBody = corpo do template com {{1}},{{2}}... — usado pro histórico da conversa e, em conexões WhatsApp sem conceito de template aprovado, como fallback de texto; envio pelo provedor WhatsApp ativo da conta (Meta ou GupShup)); send_email {emailSubject, emailBody, emailIncludeHost:\"true\"|\"false\" (manda cópia também pro {{order.hostEmail}}, ex: closer da reunião — padrão false, só o lead), emailSenderConnectionId (opcional, id de uma Connection tipo gmail específica — sem isso usa o \"Padrão para envio\" da conta em Settings → Gmail, ou a primeira conta Gmail conectada)} — requer uma conta Gmail conectada (ver Settings → Gmail); send_webhook {webhookUrl, webhookMethod, webhookPayload, webhookHeaders}; add_contact_tag {contactTag}; move_to_stage {pipelineStageId}; check_tag {checkTag, checkTagMode:\"has\"|\"missing\"} (PARA o fluxo inteiro se a condição não bater — use pra \"só continua se...\"); condition {conditionTag, conditionType:\"has_tag\"|\"missing_tag\"|\"has_booking\"|\"missing_booking\"} (RAMIFICA em vez de parar — nunca interrompe o fluxo, só decide qual caminho seguir via os campos next/branches da própria ação; has_tag/missing_tag exigem conditionTag; has_booking/missing_booking IGNORAM conditionTag e em vez disso checam se order.customerEmail tem uma reserva CONFIRMADA na agenda conectada — hoje só contas com NeetoCal suportam essa checagem; útil pra confirmar um \"já agendou\" vindo de um sistema externo antes de assumir que é verdade); delay {delayAmount, delayUnit}; trigger_flow {flowId}; notify_team {notifyTitle, notifyMessage} (avisa o dono da conta por push + e-mail, suporta {{order.*}}, NÃO pausa o agente nem envia nada ao contato; cooldown de 1h por contato); meta_conversion {metaEventName?, metaTestEventCode?} (avisa a Meta pela API de Conversões para mensagens que o contato vindo de anúncio de clique para o WhatsApp virou resultado; usa o ctwa_clid do contato e a conexão Meta da conversa; padrão LeadSubmitted; uma vez por contato e evento; contato sem clique é ignorado; metaTestEventCode manda para Eventos de teste), rd_conversion {rdConversionIdentifier} (registra uma conversão no RD Station Marketing conectado em Minha Conta › RD Station, com o e-mail e o telefone do contato; ex.: radar-qualificado, radar-reuniao-agendada, radar-venda). Leads que chegam pelo app do RD Station disparam o gatilho rd_<identificador da conversão>. Ex: [{\"id\":\"1\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Olá {{order.customerName}}!\"}},{\"id\":\"2\",\"type\":\"delay\",\"config\":{\"delayAmount\":\"1\",\"delayUnit\":\"hours\"}},{\"id\":\"3\",\"type\":\"add_contact_tag\",\"config\":{\"contactTag\":\"Atendido\"}}]. Por padrão as ações executam na ordem do array (comportamento clássico). Pra desviar o fluxo, cada ação aceita opcionalmente \"next\" (string = id da próxima ação, ignora a ordem do array) e, só em ações do tipo \"condition\", \"branches\": {\"onTrue\": \"<id>\", \"onFalse\": \"<id>\"} (pra onde ir conforme o resultado da condição). Ex. com ramificação: [{\"id\":\"1\",\"type\":\"condition\",\"config\":{\"conditionTag\":\"VIP\",\"conditionType\":\"has_tag\"},\"branches\":{\"onTrue\":\"2a\",\"onFalse\":\"2b\"}},{\"id\":\"2a\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Oferta especial pra você!\"}},{\"id\":\"2b\",\"type\":\"send_whatsapp\",\"config\":{\"whatsappMessage\":\"Conheça nossos planos\"}}]."
  3. First observed

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false, and openWorldHint=false, so the safety profile is largely covered. The description adds that the automation is event-triggered, reactive, and one-shot, but does not disclose operational side effects such as sending WhatsApp/email/webhooks, required connected accounts, or cooldowns. With annotations carrying the safety signaling, this limited additional context is a 3.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, followed immediately by the exclusion and alternative. The emoji and all-caps heading are cosmetic; no sentence is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex automation-creation tool, the description gives the essential high-level purpose and the key sibling distinction. Detailed action and trigger semantics are handled by the very rich schema, though the description itself does not surface connection requirements or side effects; still adequate given annotations and schema depth.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the main description does not explain the parameters name, actions, trigger, or is_active beyond the generic event-triggered framing. The rich schema supplies action types, trigger formats, and JSON structure, so the baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: 'Cria um fluxo de automação reativo', and defines scope as 'event-triggered, one-shot'. It explicitly contrasts with create_sequence, so an agent can distinguish it from that sibling and other create_* tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative for multi-touch prospecting cadences: 'Não serve para cadências de prospecção ... que são criadas com create_sequence.' It also supplies example trigger events (order_created, tag:<nome>, booking_created), giving both when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources