Zapster API
MessagingConnect AI agents to Zapster API, a Brazilian WhatsApp platform. Agents provision and manage WhatsApp instances, send text, media, and template messages immediately or on a schedule, manage groups and participants, and react to inbound WhatsApp events so number operations and messaging run hands free.
What This Integration Enables
Zapster API is a Brazilian WhatsApp platform, and its distinguishing structural choice is that it runs two WhatsApp channels behind one API. An instance can be unofficial, connected by scanning a QR code or entering a pairing code on a real WhatsApp number, or official, connected through Meta's WhatsApp Cloud API with WhatsApp Business Account credentials and billed by Meta per conversation. The channel belongs to the instance rather than to the endpoint, which is why the same actions serve both. The small set that does not is documented rather than left to be discovered. Group management and the QR and power controls are unofficial only, Meta templates and the message-failed event are official only, and asking for the wrong one is refused with a named error rather than silently ignored.
The token is account-wide, so one FlowRunner connection reaches every instance and the instance is a parameter on each action. That makes this connector a fleet tool. Create Instance provisions a WhatsApp connection, seeds the behavior settings that keep an unofficial number healthy, and can attach a first webhook in the same call. Update Instance Settings covers call rejection, a random pause before each send, whether the instance appears permanently online, and whether incoming messages are auto-confirmed as read for chats, groups and status independently. Send Message is deliberately one action covering every shape a WhatsApp message takes, including replies, group mentions, up to three interactive buttons, Meta templates, and scheduling. The vendor's own advice is to pace sends from the client rather than relying on its rate limiter, both to stay within quota and because bursty sending is what WhatsApp reads as spam, and that is exactly the kind of judgment a flow can hold and a dashboard cannot.
Without FlowRunner
With FlowRunner
Use Case Scenarios
Onboarding a new client number without touching a dashboard
A new client is signed. The agent calls Create Instance with the behavior settings the account standardizes on, attaches the events it wants with Create Instance Webhook, and fetches Get Instance QR Code, which stores the pairing image through FlowRunner file storage and returns a URL. That URL goes into Slack for whoever holds the client's phone, and the flow waits. Once Get Instance reports the connection live, the agent runs Update WhatsApp Profile to set the display name and About text customers will see, and writes the instance identifier back to the client record in HubSpot. What used to be a checklist is now a flow with a single human step: someone scans a code.
A reply that arrives on either channel and is handled the same way
WhatsApp Event Received fires on an inbound message. The event carries the same envelope regardless of which channel the instance uses, so the handler is written once. The agent resolves the sender with Fetch Recipient, which matters in Brazil because WhatsApp may return an older form of a number without the ninth digit and the response echoes back both what was sent and what WhatsApp matched. It answers with Send Message and marks the thread with Mark Messages As Read on unofficial instances. Where the conversation has gone quiet past Meta's free-form window on an official instance, the agent switches to a Meta template rather than trying a text send that will be rejected.
A commitment made now and kept later
A customer agrees to a renewal conversation after their contract anniversary. The agent supplies a send time on Send Message, and Zapster holds the message rather than dispatching it. The identifier that comes back is written immediately to the account record and to a scheduled-message register in Google Sheets, because it is the only handle Cancel Scheduled Message will accept. When the customer churns two months later, a cancellation flow reads that register, cancels precisely that message, and leaves every other scheduled send in the account untouched. The alternative, which is what happens without the register, is discovering the message when the churned customer receives it.
Human-in-Loop Highlight
The gate here is a horizon, not an action. Zapster will schedule a message well beyond the point where the platform will still show it to you. How far ahead a message may be scheduled runs to a year or further depending on plan, while how far back message history can be queried is capped by plan too, and List Messages is separately bounded to a maximum span per query. Cancellation is per message and needs the identifier returned at schedule time. So a message scheduled past that window is a commitment the account has made that nothing in the API will reproduce for you later. There is no bulk cancel to fall back on and no listing that will surface it.
That is a decision about the business, not about the message, so the agent brings it to a person. It composes the send, works out the delivery date, checks the register for anything already scheduled to the same number, and posts: "Renewal outreach for 214 accounts, scheduled 2027-03-01, which is 201 days ahead. That is past the history window on this plan, so after today the only handle on these 214 messages is the identifier register, and cancellation is one message at a time. 6 of the 214 already have a scheduled message on the same number. Approve the schedule, or send this as a task on the day instead?" A person answers, the agent schedules, and every identifier lands in the register before the flow ends. This is Orchestration as a Service doing the unglamorous half of its job. An agent is perfectly capable of scheduling two hundred messages a year out, and the reason it stops first is that the person who will still be here in March is the one who should have agreed to it.
Agent Capabilities
36 actionsInstances
14- List Instances Lists the WhatsApp connections on the account. Because the token is account-wide, this is what a fleet flow iterates over.
- Create Instance Provisions a WhatsApp connection, unofficial by default or official when Meta credentials are supplied. It can seed the instance's behavior settings and attach a first webhook in the same call.
- Get Instance Returns one instance with its state. The read that confirms a pairing completed.
- Update Instance Changes platform-level details such as the name, lookup key and metadata. Metadata is merged rather than replaced, and vendor-managed keys are ignored.
- Delete Instance Deletes an instance. The pairing goes with it, so an unofficial number has to be paired again from scratch.
- Get Instance QR Code Downloads the pairing image and stores it through FlowRunner file storage, returning a URL a flow can display. The code is only available while the instance is waiting to pair, and only on the unofficial channel.
- Get Pairing Code Returns a pairing code as an alternative to scanning, also unofficial only.
- Power On Instance Brings an unofficial instance up. Official instances are managed by Meta and are always available, so the call is refused there with a named error.
- Power Off Instance Takes an unofficial instance down.
- Restart Instance Restarts an unofficial instance.
- Reconnect WABA Instance Reconnects an official instance with fresh Meta credentials. There is nothing to reconnect on the unofficial channel.
- Update WhatsApp Profile Changes what contacts actually see: the profile name, the About text and the picture. Distinct from Update Instance, which changes platform-level details only.
- Update Instance Settings Sets the sending behavior that keeps an unofficial number healthy: call rejection, a random pause before each send, whether the instance appears permanently online, and auto-read for chats, groups and status independently.
- Update Presence Shows a typing or recording indicator to one recipient before a reply lands.
Messages
5- Send Message Sends every shape of WhatsApp message from one action: text, media by URL or base64 with per-type options, replies to an earlier message, group mentions of everyone or of named numbers, up to three interactive buttons, and Meta templates on the official channel. Supplying a send time schedules the message instead of dispatching it, and the response then carries the identifier that Cancel Scheduled Message accepts.
- List Messages Reports message status, the WhatsApp message identifier and the sent, delivered, read and canceled timestamps. Delivery and reading are tracked by timestamp rather than by a changing status, and the query is bounded by a maximum span and by the account's history window.
- Cancel Scheduled Message Cancels one scheduled message by identifier. Only messages still scheduled or pending can be canceled, and there is no bulk form, which is why the identifier register matters.
- Mark Message As Read Marks one message as read.
- Mark Messages As Read Marks a batch of messages as read in one call, on unofficial instances only. At least one identifier is required, because an empty list would otherwise mean nothing or everything.
Recipients
2- Fetch Recipient Checks whether a number has a WhatsApp account before a flow dispatches to it, returning the identifier WhatsApp recognized, the display name, whether the profile is a business one, and the profile picture where privacy allows.
- Fetch Recipients In Batch Checks many numbers at once. Each number is echoed back alongside what WhatsApp matched, which matters where a local numbering change means the two differ.
Groups
9- List Groups Lists groups on an unofficial instance. Meta's Cloud API cannot address WhatsApp groups, so the whole group surface is unofficial only.
- Create Group Creates a group seeded with participants and admins, counted together against the platform's ceiling and validated before the request.
- Update Group Updates a group's details.
- Join Group Joins a group by invite code or link.
- List Group Participants Lists and filters a group's members.
- Add Group Participants Adds members. A non-empty list is required.
- Remove Group Participants Removes members, with the same guard.
- Promote Group Participants Promotes members to admin.
- Demote Group Participants Demotes admins back to members.
Webhooks
6- Create Instance Webhook Creates a webhook and associates it with an instance, or attaches an existing webhook to a further instance. The event list belongs to the association rather than to the webhook.
- Update Instance Webhook Changes only that instance's event subscriptions, leaving the webhook itself alone.
- Delete Instance Webhook Detaches a webhook from one instance, leaving it live for every other instance using it.
- List Webhooks Lists the account's webhooks, which hold the destination URL, a name and an enabled flag.
- Update Webhook Updates a webhook at account level. A change here propagates to every instance using it, so read the association list first.
- Delete Webhook Deletes a webhook from the account, which removes it from every instance at once.
Triggers
1 triggersEvent Triggers
1- WhatsApp Event Received Fires when a Zapster instance emits a webhook event. The trigger registers its own webhook on the chosen instance and subscribes it to the events you select, so it never disturbs webhooks the account already has, because Zapster webhooks are independent destinations that instances associate with individually. Every event shares one envelope, and the trigger exposes the event type and identifier, the originating instance and delivering webhook, the message identifier and type, the sender and conversation, and the event-specific content, alongside the untouched data object. Message failure and flow reply events are emitted only by official instances and every other event only by unofficial instances, and subscribing to one that is unavailable on the chosen channel is refused with a named error rather than accepted and never delivered.
Frequently Asked Questions
What can FlowRunner do with Zapster API?
FlowRunner agents can run List Instances, Create Instance, and Get Instance in Zapster API, plus 33 more actions.
Does connecting Zapster API to FlowRunner require OAuth?
No. Zapster API connects to FlowRunner with an API key, no OAuth flow required.
Can Zapster API trigger a FlowRunner workflow automatically?
Yes. Zapster API supports 1 trigger that can start a FlowRunner workflow automatically.
Start building with Zapster API
$100 in credits. No card required. Connect in minutes.