ChatGuru
MessagingAutomate WhatsApp conversations in a ChatGuru account, registering chats and sending text and file messages. Agents keep chat metadata and custom fields aligned with the CRM behind them.
What This Integration Enables
ChatGuru is a Brazilian WhatsApp inbox where the chat record is doing double duty as a customer record. That is the thing to understand before building on it. Most WhatsApp connectors give agents a way to send messages; this one gives agents a way to change what the customer experiences next, by writing into the chat's custom fields and its chatbot context variables and then handing the thread to a dialog. The messages are almost the least interesting part of the surface.
Two structural facts shape every flow. Chats must exist before Send Message, Send File or Add Note can target them, so Register Chat is the entry point for any customer who has not written in first, and registration is asynchronous: it returns a registration identifier whose progress you follow with Get Chat Registration Status rather than assuming the chat is ready. And there is no trigger. ChatGuru delivers inbound events through a Post to URL action configured inside a chatbot dialog in the ChatGuru interface, not through an API an agent can subscribe to. So flows here are started by the systems around WhatsApp, an order, a signup, a payment, and ChatGuru is where the conversation is opened and steered. That fits the Orchestration as a Service model well, because the decision about when a customer should be contacted belongs upstream in the business process, not inside the messaging tool.
Without FlowRunner
With FlowRunner
Use Case Scenarios
The order that opens its own conversation
A payment clears in WooCommerce. The agent calls Register Chat with the buyer's number and an opening message, optionally delegating the chat to the account owner as it creates it. Because registration is asynchronous, the flow polls Get Chat Registration Status rather than immediately sending a second message into a chat that does not exist yet. Once the chat is confirmed, Update Custom Fields writes the order number, the shipping method and the plan name into the fields defined in the custom field manager, so the first agent to open the thread already sees why this person is writing. Send File then delivers the receipt from a public URL that ends in the file extension, because ChatGuru derives the media type from the URL itself.
CRM data that steers the branch, not just the sidebar
A lead comes in through RD Station with a qualification score and a product interest. Custom fields and context variables do different jobs here and the agent uses both. Update Custom Fields writes the values the human agents read in the inbox. Update Chat Context writes the variables the chatbot dialogs branch on, submitted as var__{name}, which decides whether this person gets the enterprise path or the self-serve path when the dialog runs. The lead never sees a generic opener, and nobody in the sales team is manually picking a script.
Knowing whether the message actually went
A scheduled reminder is submitted with Send Message and a future delivery time. The response returns a message identifier, and the agent stores it. Closer to the delivery moment the flow calls Get Message Status to find out whether the message is still queued or has been sent, and writes the result back to the record in HubSpot. Reminders that are still sitting queued past their window are collected into a single digest for the team rather than each one becoming its own surprise. This is what turns a scheduled send into something you can report on.
Human-in-Loop Highlight
Execute Dialog is the operation that earns a gate on this connector. It runs a chatbot dialog against a live conversation, which means an external system is deciding to take a thread away from whoever is holding it and hand it to automation. Once the dialog fires, the customer has already received that branch. There is no un-run, and the branch itself was chosen by the context variables the flow wrote a moment earlier. So the agent does everything up to the handover and then stops: it posts the chat, the current context values it intends to set, and the named dialog it intends to execute, and asks the owner of that queue to confirm. "Chat 8841, Ana Reis, order 30219 refunded this morning. I would set Contexto=refund_followup and run the Pos-Reembolso dialog. Confirm, change the branch, or leave it with the agent?" The dialog must in any case be assigned to the WhatsApp number this connection uses or ChatGuru rejects the call, so the agent surfaces that too rather than discovering it mid-flow. Handing a conversation to a machine is a decision with a customer on the other end of it, and that is exactly the kind of decision human-in-the-loop exists to hold.
Agent Capabilities
10 actionsChat Creation
2- Register Chat Registers a new chat in the account and sends an opening message to start the conversation, optionally delegating it to a user and running a chatbot dialog on creation. Registration is asynchronous and returns a registration identifier rather than a ready chat, so agents follow it with Get Chat Registration Status before targeting the chat.
- Get Chat Registration Status Checks how far a registration created by Register Chat has progressed, using the registration identifier. This is the operation that keeps a flow from sending into a chat that does not exist yet.
Messaging
4- Send Message Sends a text message to a chat that already exists in the account, delivered immediately or scheduled for a future date and time. Returns a message identifier that Get Message Status accepts.
- Send File Sends a file to an existing chat from a publicly reachable URL. The URL must end with the file extension, for example https://example.com/invoice.pdf, because ChatGuru derives the media type from it.
- Get Message Status Retrieves the current delivery status of a message previously submitted through Send Message, so a flow can confirm whether a scheduled message is still queued or has been sent.
- Add Note Adds an internal note to a chat. Notes appear to agents inside the ChatGuru inbox and are never delivered to the contact on WhatsApp, which makes them the right place to record what an automated step did and why.
Chat Data
4- Update Chat Name Renames an existing chat. The new name replaces the contact label agents see in the inbox, which matters when the WhatsApp profile name is not the name your business knows the customer by.
- Update Custom Fields Writes values into a chat's custom fields, supplied as an object keyed by the field variables shown in the custom field manager, for example {"Empresa":"ChatGuru","CNPJ":"15151515151"}. Each key is submitted as field__{variable}. This is how CRM context reaches the agent reading the thread.
- Update Chat Context Adds or updates chatbot context variables on a chat, supplied as an object keyed by context name and submitted as var__{name}. Dialogs read these variables to decide which branch a customer receives, so this is the operation that steers the conversation rather than describing it.
- Execute Dialog Runs a chatbot dialog against an existing chat, letting an external system hand a live conversation over to an automated flow. The dialog must be assigned to the WhatsApp number configured for this connection or the call is rejected.
Frequently Asked Questions
What can FlowRunner do with ChatGuru?
FlowRunner agents can run Send Message, Send File, and Register Chat in ChatGuru, plus 7 more actions.
Does connecting ChatGuru to FlowRunner require OAuth?
No. ChatGuru connects to FlowRunner with an API key, no OAuth flow required.
Can ChatGuru trigger a FlowRunner workflow automatically?
ChatGuru doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with ChatGuru
$100 in credits. No card required. Connect in minutes.