---
title: "Connect Marketo Engage to Rig — Rig guide"
description: "Connect Marketo Engage to Rig with a LaunchPoint client ID and secret to sync people, activities, programs, smart campaigns, emails, forms and lists."
canonical: "https://rig.so/guides/connect-marketo"
format: markdown
---

Search guides, references, playbooks…⌘K

Browse guides

# Connect Marketo Engage to Rig

Sync your Marketo Engage people, attribution and web activities, programs, smart campaigns, emails, forms and lists into Rig, so your AI tools can trace marketing activity to pipeline. Marketo connects with a custom service in LaunchPoint and your instance's two web service addresses.

## Before you start

- You need Marketo admin access, to create a user and role and to open LaunchPoint and Web Services under Admin.
- Marketo allows 50,000 REST calls a day and 100 calls per 20 seconds for the whole instance, shared with every other integration you run on it. Rig caps each sync, so check with whoever owns your other Marketo integrations before a large first load.
- Decide your start dates before you connect. The earliest activity and person dates only apply to the first sync.

## Step 1: Create an API-only user and a custom service

1. In Marketo, go to `Admin` then `Users & Roles` then `Roles` and create a role with the API permissions you want Rig to have. Marketo's custom services page covers roles.
2. Go to `Admin` then `Users & Roles` then `Users` and choose `Invite New User`. Tick the **API Only** checkbox, assign that role and send the invite.
3. Go to `Admin` then `Integration` then `LaunchPoint` and choose `New Service`. Pick **Custom** as the service, choose the API-only user and click `Create`.
4. On the new service, choose `View Details` and copy the **Client Id** and **Client Secret**.

## Step 2: Find your REST endpoint and Identity URL

1. Go to `Admin` then `Integration` then `Web Services`.
2. In the REST API section, copy the **Endpoint** and the **Identity** address.
3. Check that the endpoint ends in `/rest` and the identity address ends in `/identity`.

## Step 3: Connect it in Rig

New to Rig? Watch how to find Connections

Adding a source needs a workspace owner, or a role with the Manage connections permission, on a workspace where you manage your own connections. If the Connectors tab says “Data ingestion for this workspace is managed by Rig”, ask an owner or Rig support to add the source.

1. In Rig, open `Connections`, choose the `Connectors` tab and go to `Sources & actions`.
2. Search for **Marketo Engage**, open the card and click `Connect`.
3. **Client ID**: the client ID from Step 1.
4. **Client secret**: the client secret from Step 1.
5. **REST endpoint**: the endpoint from Step 2, ending in `/rest`.
6. **Identity URL**: the identity address from Step 2, ending in `/identity`.
7. **Earliest activity date to sync**: optional, as `YYYY-MM-DD`. Blank means 365 days before the first sync. Set it before you connect, because changing it later has no effect.
8. **Earliest person creation date to sync**: optional, as `YYYY-MM-DD`. Blank means 730 days before the first sync. Also first sync only.
9. **REST calls per sync**: pre-filled with `20000`. Leave it as it is. A sync stops at this number and carries on the next night, which keeps your other tools inside the daily quota.
10. Click `Continue`. Rig checks the credentials and lists the streams it can reach, so choose the ones you want and click `Connect`.
11. The source then syncs on its schedule, which is nightly unless you change it. To load data straight away, click `Sync` on its row; `Test` pulls a small sample first if you want to check the connection.

## What Rig pulls in

Marketo Engage lands in its own `marketo` schema in your warehouse:

- **People**: Marketo leads and contacts, loaded in bulk extracts, with the fields in the person fields list.
- **Attribution activities**: Salesforce campaign membership, program progression, interesting moments, lead sync and conversion, and opportunity events.
- **Web activities**: page visits, form fills and link clicks.
- **Lead lifecycle activities**: new leads, score changes, merges and deletes.
- **Email activities**: email engagement. This stream is off by default because it is often half of an instance's activity.
- **Assets**: programs with their Salesforce campaign IDs, smart campaigns, emails, forms, static lists, the activity type catalogue and the lead field list.

The four field lists that choose activity types, and the person fields list, have defaults you can leave alone. Rig skips any activity type your instance does not have.

## Good to know

- Marketo exports people with a bulk job for each 31-day window of creation, and later picks up people who were updated, with a daily export quota of 500 MB per instance.
- Marketo often answers errors with a successful HTTP status and an error in the body. Rig reads those, waits when you hit a burst limit, and resumes the same page.
- Activities are read in the order Marketo records them, which can lag the activity date by minutes to an hour, so a sync can finish a little behind real time.
- To disconnect Marketo Engage, click the bin icon on the source's row under `Sources & actions`. Only whoever connected the source or a workspace owner can do this, and data already synced stays in the warehouse.

## What people use this for

- Trace marketing activity to pipeline
- Understand web and form engagement
- Follow the lead lifecycle
- Audit emails, forms and smart campaigns

[More ideas for using Marketo Engage](https://rig.so/integrations/marketo)

## Marketo Engage documentation

- [Custom services (Marketo developer documentation)](https://experienceleague.adobe.com/en/docs/marketo-developer/marketo/rest/custom-services)

Was this guide helpful?

Yes No

---

- [This page as HTML](https://rig.so/guides/connect-marketo)
- [Site map for language models](https://rig.so/llms.txt)
- [API and agent documentation](https://rig.so/developers)
