Outbound Voice Call × MoEngage
This integration automates event-triggered voice outreach without requiring you to build telephony or conversational AI infrastructure inside MoEngage. With this integration, you can:- Trigger an outbound AI voice call the moment a Flow event fires.
- Pass campaign-configured context (order ID, renewal date, payment amount, or any other field your agent’s prompt needs) with every call.
Use Cases
By integrating Deepgram with MoEngage, you can address the following use cases:- Cart abandonment follow-up: Trigger a call referencing cart contents and offer assistance completing the purchase when a user abandons checkout.
- Payment failure recovery: Trigger a call to inform the customer and help them update payment details when a recurring payment fails.
- Renewal and retention: Trigger a call to remind the customer ahead of a subscription renewal and offer a retention incentive if needed.
- Order status and resolution: Trigger a call to inform the customer of delays or deliveries and offer resolutions based on order status.
Architecture and Connectivity
The following table describes the integration architecture and components:| Component | Description |
|---|---|
| MoEngage Flow | Triggers the Connected App action when a specified user event fires. |
| POST /make-call | The API request sent from MoEngage to your custom server to initiate the outbound call. |
| Voice Agent integration server | Your server that authenticates requests and places calls via telephony providers. |
Prerequisites
To set up the integration, ensure you have the following:
- Public HTTPS server: A publicly reachable server implementing the
/make-callcontract. - Authentication secret: A secret your server validates on incoming requests (sent as a Bearer token).
- Context object key: The JSON key your server expects call context under (for example,
leadorcontext).
MoEngage does not host, run, or operate any part of the voice agent itself. You bring your own server built on whichever voice stack you choose.
Step 1: Build and Deploy Your Voice Agent Server
Build and host a service with an endpoint (for example,/make-call) to receive and process requests from MoEngage. The /make-call path is an example; your implementation can use a different endpoint name. Your custom server manages the following tasks:
- Request authentication: Verify the incoming endpoint secret to ensure secure connectivity.
- Call orchestration: Initiate the outbound connection through your preferred telephony service provider.
- Conversation logic: Facilitate the real-time interactive dialogue using the Deepgram AI engine.
Step 2: Connect the App in MoEngage
Once you have your server deployed, connect it in MoEngage:- On your MoEngage dashboard, go to App Marketplace.
- Search for Outbound Voice Call (Custom Server) and click Connect.
- Under Connection details, enter the following details:
| Field | Required | Description |
|---|---|---|
| Connection Name | Yes | A name to identify this connection (for example, Production Voice Agent). |
| Server URL | Yes | The public base URL of your deployed server (for example, https://your-app.com). |
| Endpoint Secret | Yes | The Bearer secret key your server validates on incoming requests. |
| Context Key | Yes | The JSON key your server expects context under (for example, lead, order). This key wraps the key-value pairs you add in Context Fields when configuring a campaign. |
- Click Connect.
Any changes to connection details take up to 15 minutes to reflect.

Step 3: Configure a Campaign
- Create a Connected App campaign, and in Step 2 of the campaign setup, choose the Make Outbound Call connector.
- In the Call Configuration section, provide the Phone Number in E.164 format. Type
@to personalize. - Add Context Fields as key-value pairs that your prompt needs (for example,
order_id).

Step 4: Testing and Validation
To ensure your integration works as expected, follow these validation steps:- Trigger a test send from the campaign and verify the request body context object appears under the exact Context Key you configured when connecting the app.
- Check your server logs to confirm authentication and telephony placement. Look for an incoming request whose Authorization header matches your Endpoint Secret.
- Verify that the conversation used the provided context fields correctly.
