How to set up Marketo
Authentication
Marketo uses a LaunchPoint custom service for API access:- In Marketo, go to Admin → LaunchPoint and create (or open) a custom service
- Copy the service’s Client ID and Client Secret
- Find your Munchkin ID under Admin → Munchkin (e.g.
123-ABC-456) - In Cargo, paste the Munchkin ID, Client ID, and Client Secret when connecting
Code slugs — integration slug:
marketo. Actions: createObject, updateObjects, upsertObjects, deleteObjects, getObject, findObjects. Call them as integrations.marketo.<action>(...).Marketo actions
Create object
Insert a new object (action: createOnly, dedupeBy: dedupeFields). Marketo skips objects whose dedupe key already exists; check the response data for status: skipped to detect duplicates.
Required fields:
- Object type: API name of the Marketo object type
- Fields: Fields to write on the new object. Must include every dedupe field configured on the object — Marketo rejects creates that don’t supply the full dedupe key
Update objects
Look up objects by a searchable field, then update every match bymarketoGUID.
Required fields:
- Object type: API name of the Marketo object type
- Matching field: Field used to look up the objects to update. Must be one of the object’s searchable fields (
marketoGUID, dedupe fields, or any other indexed field) - Matching value: Value to match against the matching field. All matched objects are updated
- Fields to update: Fields to write on every matched object
Upsert objects
Look up objects by a dedupe field; update every match bymarketoGUID, or create a new object if none match.
Required fields:
- Object type: API name of the Marketo object type
- Matching field: Field used to look up the objects. Must be one of the object’s dedupe fields so the object can be created if no match is found. For objects with compound dedupe keys, include the other dedupe field(s) in the mappings
- Matching value: Value to match. All matched objects are updated; if no match is found, a new object is created with this value on the matching field
- Fields to write: Fields to write on the matched records (or the new record)
Delete objects
Look up objects by a searchable field, then delete every match bymarketoGUID.
Required fields:
- Object type: API name of the Marketo object type
- Matching field: Field used to look up the objects to delete. Must be one of the object’s searchable fields
- Matching value: Value to match. All matched objects are deleted
Get object
Get a single object bymarketoGUID.
Required fields:
- Object type: API name of the Marketo object type
- Marketo GUID: The
marketoGUIDof the object to retrieve
Find objects
Look up objects by any searchable-field value. Returns every match. Required fields:- Object type: API name of the Marketo object type
- Filter field: Field to filter on. Must be one of the object’s searchable fields
- Filter values: Values to look up. Larger inputs are automatically chunked
Best practices
- Include every dedupe field when creating objects — Marketo rejects partial dedupe keys
- Prefer Upsert objects when you can’t guarantee whether a record exists
- Use dedupe fields or indexed fields for lookups; non-searchable fields will fail
- Watch for
status: skippedin create responses to detect duplicates

