Disparo Pro
MessagingConnect AI agents to Disparo Pro, a Brazilian bulk SMS gateway. Agents send single and bulk SMS, check delivery status, retrieve inbound replies, and read the credit balance so Brazilian SMS campaigns stay monitored end to end.
What This Integration Enables
Disparo Pro is a Brazilian bulk messaging gateway, part of Grupo Ativos Capital, and this connector covers its SMS HTTP API: single sends, batches of up to ten thousand messages in one request, outbound delivery status, inbound replies, and the account balance. Five actions. That is not a thin surface, it is a complete one for what this API is for, which is moving high volumes of Portuguese-language SMS to Brazilian mobile numbers and knowing afterward what happened to each one.
The decision that shapes every flow built on it is the encoding, and it is more consequential here than on a gateway serving an English-speaking market. GSM 7-bit gives you 160 characters in a single part but does not carry accents, special characters, or emoji, which in Brazilian Portuguese means the difference between confirmação and confirmacao on the customer's handset. Unicode carries them and drops the single-part limit to 70 characters, with 67 per part once the message concatenates. Every concatenated part is billed as a separate message. On one message that is a rounding error. On a ten thousand recipient batch it is the difference between one charge and three, which is why the agent's job here is to price both options rather than to pick one.
The other thing to know is where failure lives. Every Disparo Pro endpoint answers with an envelope, and per-message failures come back inside a 200 OK with a failure status in the payload rather than as an HTTP error. A flow that branches on HTTP status will report a batch as successful while a quarter of it was rejected for invalid numbers or no credit. This connector reads the envelope, so a rejection surfaces as an automation exception the moment it happens instead of at the end of the month. Status lookups add the full vocabulary the gateway reports back: SENT, DELIVERED, EXPIRED, DELETED, REJECTED, BLACKLIST, and UNDELIVERABLE, each with a numeric code and a description. There are no triggers, because Disparo Pro delivers receipts and inbound replies to a URL registered manually in the panel and exposes nothing a flow could subscribe with. Get Sent Message Status and Get Received Messages are the polling substitutes, and both accept comma-separated lists of message ids and numbers so a whole batch can be reconciled in one call.
Without FlowRunner
With FlowRunner
Use Case Scenarios
A delivery notification batch that gets priced before it ships
An e-commerce operation in São Paulo sends a daily batch of shipping updates. The agent pulls the day's shipments from Shopify, builds one personalized line per customer, and normalizes every number to the digits-only form the API requires. Then it does the thing a human would skip: it renders the whole batch twice, once as GSM 7-bit with accents stripped and once as Unicode with accents intact, and counts the billed parts under each. Get Account Balance returns the credit in reais. What the campaign owner receives is not a request for approval on copy, it is two prices and two sample handset renderings. They pick, and the batch goes out as Send Bulk SMS in a single call with each entry carrying its own text and service.
Replies that mean something, routed to whoever can act on them
Customers answer SMS, and most of those answers are not for a robot. On a schedule, the agent calls Get Received Messages for the account's numbers, matches each inbound reply back to the outbound message and the order behind it, and classifies. A plain confirmation updates the delivery window in the order system. Anything the agent cannot classify with confidence, a customer disputing a charge, a reply in an unexpected format, a message about a shipment that was already marked delivered, is posted into Slack with the original outbound text and the order attached, so a person answers a person. The queue drains as fast as the team works rather than as fast as the classifier guesses.
End-of-day reconciliation against what the gateway actually did
Sends acknowledge as ACCEPTED, which means queued, not delivered. Once a day the agent calls Get Sent Message Status filtered to the run's date and service, passing the batch's message ids as a comma-separated list, and walks the results. DELIVERED updates the customer record in HubSpot. EXPIRED and UNDELIVERABLE mark the number as suspect and suppress it from the next run. BLACKLIST is a signal that somebody asked to stop hearing from you and needs to stop being in the list at all, not just in this campaign. Then it reads Get Account Balance again, and the difference between the two readings is the run's real cost, which is the only number that ever agrees with the invoice.
Human-in-Loop Highlight
Send Bulk SMS accepts up to ten thousand messages in one request, and there is no operation anywhere on this connector that recalls one. No cancel, no unschedule, no unsend. The moment the request is accepted, every one of those messages is on its way to a real handset in Brazil, and the only remaining question is how many parts each one was billed as. That combination, a very large irreversible act plus a cost that swings by a factor of three based on a single parameter, is where the agent stops.
So the pause is not a rubber stamp on the copy. The agent has already normalized the numbers, already caught the ones the API would reject inside a success envelope, already read the balance. What it posts is a choice: "Batch ready, 8,412 recipients. As GSM 7-bit this is 1 part each, 8,412 billed messages, and the accents come off, so 'confirmação de entrega' arrives as 'confirmacao de entrega'. As Unicode it is 2 parts each, 16,824 billed messages, accents intact. Balance is R$ 2,340.18. Which one goes out?" That question needs somebody who knows what this brand sounds like to its customers and what the month's budget looks like, and it is not a judgment an agent should be making on its own.
This is what human-in-the-loop is for under Orchestration as a Service: the agent does the tedious, error-prone assembly and the arithmetic nobody wants to do twice, then hands over exactly the decision a person is better placed to make. The same reasoning applies to the sending service parameter. Disparo Pro sends from a named service registered to your account, a short code or long number, and it is set per message rather than per account. The vendor publishes no endpoint that lists the allowed values, so the agent cannot verify it and a wrong one fails at the gateway. On a first run against a new service name, that is worth a person confirming rather than a batch discovering.
Agent Capabilities
5 actionsSMS
2- Send SMS Sends a single SMS to one Brazilian mobile number, taking the destination in digits-only form with country and area code, the sending service, the message text, the encoding, and an optional partner id for your own correlation. The single-message path for confirmations, codes, and one-off alerts.
- Send Bulk SMS Submits up to ten thousand messages in one request, each entry carrying its own destination, service, text, encoding, and partner id, so a batch can mix personalized bodies and different sending services. The response returns one result object per submitted message, which is where per-message rejections appear rather than in the HTTP status.
Reporting
2- Get Sent Message Status Looks up outbound delivery status with optional filters that combine: message id, destination number, service, and send date. Message ids and numbers accept comma-separated lists, so a whole batch reconciles in one call rather than one call per message.
- Get Received Messages Retrieves inbound replies received on the account's numbers, using the same optional filter set. This is the polling substitute for an inbound webhook and the entry point for any two-way conversation the flow needs to act on.
Account
1- Get Account Balance Returns the remaining credit on the account in Brazilian reais. Read before a batch to price it and after a batch to reconcile it, since the difference between the two readings is the run's actual cost.
Frequently Asked Questions
What can FlowRunner do with Disparo Pro?
FlowRunner agents can run Send SMS, Send Bulk SMS, and Get Sent Message Status in Disparo Pro, plus 2 more actions.
Does connecting Disparo Pro to FlowRunner require OAuth?
No. Disparo Pro connects to FlowRunner with an API key, no OAuth flow required.
Can Disparo Pro trigger a FlowRunner workflow automatically?
Disparo Pro doesn't currently expose triggers in FlowRunner. It connects as an action step inside workflows started by another trigger.
Start building with Disparo Pro
$100 in credits. No card required. Connect in minutes.