Olo

Olo is a restaurant technology platform trusted by 90,000+ locations that powers the full guest journey from online ordering, delivery, and catering to payments, loyalty, and marketing through a single unified platform built for multi-unit restaurant brands. Through its self-service webhook framework, Olo emits near-real-time event data including orders, guest sign-ups, and opt-in preferences that can be streamed directly into MoEngage to power personalized, lifecycle-driven campaigns at scale.

MoEngage <> Olo

The integration of MoEngage and Olo empowers restaurant brands to unify their guest data and activate it across every owned channel. With this integration, you can:

  • Ingest order events (placed, cancelled, picked up) as MoEngage behavioral events in near real time.
  • Sync guest sign-up and opt-in data to create and enrich MoEngage user profiles.
  • Capture loyalty check-ins and vendor-level events for advanced segmentation.
  • Trigger personalized campaigns immediately after an order is placed or a guest churns.

Use Cases

Integrating Olo with MoEngage helps you solve the following use cases:

  • Re-order campaigns: Trigger personalized push or email campaigns when a guest's last order crosses a defined recency threshold.
  • New guest onboarding: Welcome guests who sign up via Olo ordering flows and deliver first-order incentive campaigns.
  • Win-back lapsed guests: Identify users with no Order Placed events in 30+ days and serve re-engagement campaigns with relevant offers.
  • Order milestone rewards: Detect guests reaching their 5th or 10th lifetime order and trigger loyalty reward messages automatically.
  • Post-purchase feedback: Send automated review prompts or satisfaction surveys within minutes of an Order Picked Up event.

The following table outlines some of the Olo webhook events. Additional events can be configured based on your use case.

Olo Event Type Description
UserSignedUp Guest signs up via Olo: Profile attributes and subscription preferences are captured.
OrderPlaced Guest places an order: Basket contents, location, totals, and delivery method are captured.
OrderCancelled Guest cancels an order: Used in win-back flows and order analysis.
OrderPickedUp Guest collects their order: Triggers post-purchase flows.
GuestOptIn Guest updates their communication preferences: Email and SMS subscription state is captured.

Integration

info

Before You Begin

Olo allows only one Destination URL per brand environment. All event types are routed to the same MoEngage endpoint and differentiated using the X-Olo-Event-Type header.

library_add_check

Prerequisites

Ensure you have the following before proceeding:

  • Brand Manager permission (or higher) with access to Dev Tools > Webhooks in the Olo Dashboard.
  • Your MoEngage Workspace ID and Data API Key, available under Settings > Account > APIs.

Step 1: Get Your MoEngage Endpoint

MoEngage provides a dedicated webhook ingestion endpoint for this integration. You will use this URL as the Destination URL in the Olo webhook configuration.

The MoEngage endpoint follows this format:

https://api-0X.moengage.com/v1/partner/olo/{events|user}/?configName={config_name}

Step 2: Configure the Webhook in Olo Dashboard

To set up a webhook in Olo, perform the following steps:

  • In the Olo Dashboard, navigate to Dev Tools > Webhooks in the left-hand navigation.
    Note: MFA must be enabled on your Olo account to access this section.
  • Click Add Webhook in the top-right corner.
  • In the Webhook Name field, enter a descriptive name, ex: MoEngage {{Your Workspace Name}}.
  • In the Destination URL field, paste the MoEngage endpoint URL copied in Step 1.
  • In the Developer Partner dropdown, select MoEngage from the list of approved partners.
  • Under Headers, add the following:

    Header Value
    Authorization

    Generate a Basic Authentication Token using an online Basic Auth Header Generator tool. Enter your Workspace ID as username and your Data API Key as password. To find your credentials, perform the following steps:

    1. On the MoEngage UI, navigate to Settings > Account > APIs.
    2. Copy the ID under Workspace ID (earlier app id).
    3. Copy the Data value under API keys.

    Your Basic Authentication Token is a combination of Workspace ID and Data API Key. For example: Basic Qk5CR1NNNUR4eHh4eHhWQ1hSRFJEWTdSOlFsWHVoTHVaeHh4eHh4QWQrQnBYUEotNw==

    Note: Ensure the token is copied completely without extra spaces.

  • Under the Order Events and User Events sections, enable the event types you want to forward to MoEngage.
Screenshot 2026-06-10 at 12.46.48 PM.png
  • After selecting events, click Test Webhook to send a test payload to your MoEngage endpoint.
info

Shared Secret

During the webhook creation flow, Olo displays a 64-character Shared Secret. This is used to compute the X-Olo-Signature header for payload verification. Copy and store it securely as it is shown only once. Provide this value to your MoEngage contact to configure.

library_add_check

Test Event Required

Olo requires a successful response from the test event before the webhook can be published. This is a mandatory gate - the Publish Webhook button will remain inactive until a 200 response is received from the MoEngage endpoint.

If the test fails, verify your Destination URL and Authorization header before retrying.

  • Once the test succeeds, click Publish Webhook to activate.
info

Note

Unique Identifier (Customer ID): MoEngage uses Olo's customerId as the unique identifier. This value is immutable, ensuring accurate profile resolution and preventing duplicates. To use a different identifier, contact the MoEngage team before configuring your webhook.

Rate Limits & Reliability

Topic Details
speed Rate Limits MoEngage limits ingestion of Olo webhook data to a maximum of 500 requests per second (RPS) per workspace. If your workspace exceeds this limit, MoEngage returns an HTTP 429 (Too Many Requests) status code.
replay Retries Olo's built-in retry policy handles 429 and 5xx responses automatically, retrying up to 50 times over a 24-hour period before dropping the request.
report_problem Retry Exhaustion If Olo exhausts all retry attempts, contact Olo Developer Support at developersupport@olo.com to replay the failed requests.
difference Deduplication Olo guarantees at-least-once delivery, meaning the same event may be received more than once under retry conditions. MoEngage uses the X-Olo-Message-Id header to deduplicate incoming events automatically.

Previous

Next

Was this article helpful?
0 out of 0 found this helpful

How can we improve this article?