Skip to the operations

Messaging

Zenvia in a decision flow.

5 Zenvia operations a decision flow can call directly, with the credentials your own contract issued. The response is data the rest of the flow reads, branches on, and keeps in the trace.

Category
Messaging
Type
Integration
Authentication
API key
Test environment
Production host only

Who they are

Brazilian customer communication platform across WhatsApp, SMS, email and voice.

Zenvia sends and receives messages across the channels Brazilian customers use, from one credential and one message format. It is an official WhatsApp Business Solution Provider, so businesses reach WhatsApp through it without dealing with Meta directly. It also generates, delivers and verifies one-time codes, so an application never has to store one.

What a flow can call

5 operations, each one a step you can place on the canvas.

  1. POST/channels/whatsapp/messages

    Send a WhatsApp message

    Sends a WhatsApp message from a registered sender.

  2. POST/channels/sms/messages

    Send an SMS

    The fallback channel when WhatsApp is not registered for the number or the template was rejected.

  3. POST/channels/email/messages

    Send an email

    Email through the same credential and the same message shape as the other channels.

  4. POST/2fa-tokens

    Send a one-time code

    Generates a code, delivers it over the channel the configuration names, and keeps it.

  5. POST/2fa-tokens/$data.zenvia_token_id/actions/verify

    Verify a one-time code

    Checks the code the person typed against the one Zenvia sent.

Where it sits in the decision

Messaging calls have a natural place in a flow.

Notifying a person is part of the decision rather than an afterthought to it: the message goes out from the flow, at the point the flow decided it was warranted, carrying the same version and trace as the outcome that triggered it.

Whatever Zenvia returns is part of the run, so it is part of the record. When someone asks months later why an applicant was declined, the answer cites what came back at the time rather than re-fetching from a service whose answer has since changed.

  • 01Add Zenvia as a connection authenticating with an API key.
  • 02Zenvia has one host for both environments, so guard test runs with your own credentials and limits.
  • 03Place a Connection node and pick an operation — “Send a WhatsApp message” is usually the first one a flow needs.
  • 04Map the response into the fields your rules read, then test the whole path before it carries live traffic.

Common questions

Using Zenvia in a flow.

How do I connect Zenvia to a decision flow?

Add Zenvia as a connection in your workspace authenticating with an API key, with the credentials your own contract issued — ArboRule calls the provider as you, and never holds a contract on your behalf. Once the connection exists, any flow in the workspace can place a Connection node and choose one of its operations. The credentials live on the connection, not in the flow, so a policy owner can use Zenvia in a decision without ever seeing the secret.

Can I test Zenvia without touching production?

Zenvia exposes one host for both environments, so there is no separate sandbox to point at. Test runs still execute in Sandbox and are recorded separately in decision history, but the call goes to the same place as production — so guard it with your own test credentials, rate limits, or data.

What can a flow call on Zenvia?

5 operations, including “Send a WhatsApp message”, “Send an SMS”, “Send an email”. Each one is a step you place on the canvas and map into the fields your rules read, and most flows start with “Send a WhatsApp message”. The list comes from the same manifest the engine uses to make the call, so this page cannot describe an operation the product does not have.

Where in a decision should Zenvia be called?

Notifying a person is part of the decision rather than an afterthought to it: the message goes out from the flow, at the point the flow decided it was warranted, carrying the same version and trace as the outcome that triggered it.

Ready when you are

Wire Zenvia into a real decision.

Build the flow in Sandbox, connect your account, and watch the decision pull what it needs before it answers.

Read the docs