parameter-passingmarketoboomi

Dynamic parameter substitution not working in HTTP connector URL with Marketo API


I'm working on a Boomi integration with the Marketo Bulk Export API and encountering an issue with dynamic parameter substitution in HTTP connector URLs.

The Process Flow

My Boomi process has these steps:

  1. Create a JSON payload with a Data Process (JavaScript)
  2. Call Marketo Bulk Export API via HTTP connector
  3. Parse the response with a Data Process (Groovy) which extracts the exportId
  4. Call the Enqueue Export Job API with another HTTP connector that should use the exportId

The Issue

The problem occurs in step 4, where the exportId from step 3 is not being properly substituted in the URL. In the request logs, I can see:

https://[instance].mktorest.com/bulk/v1/leads/export/{exportId}/enqueue.json

Instead of the actual value replacing {exportId}. When I check the response, I get:

{"requestId":"[request-id]","success":false,"errors":[{"code":"1013","message":"Export id '{exportId}' not found"}]}

What I've Tried

  1. In the Groovy script, I'm storing the export ID as document properties:
// Extract exportId from JSON response
String exportId = json.result[0].exportId
            
// Store as document property
props.setProperty("exportId", exportId)
props.setProperty("extractedExportId", exportId)
  1. I've tried various URL formats in the "Enqueue Export Job" connector:
https://[instance].mktorest.com/bulk/v1/leads/export/{exportId}/enqueue.json
https://[instance].mktorest.com/bulk/v1/leads/export/${document.exportId}/enqueue.json
https://[instance].mktorest.com/bulk/v1/leads/export/${document.property.exportId}/enqueue.json
  1. I've even tried creating a Map/Profile with RegEx to extract the export ID from the message text.

The message shape right before the connector shows the correct export ID is present:

Marketo Bulk Export: Success

Export ID: 57646fgh65test
Status: Created
EXPORTID=57646fgh65test

Question

What is the correct syntax for dynamic parameter substitution in Boomi HTTP connector URLs? How can I properly pass the export ID from one API call to the next?

Environment


Solution

  • Try passing the resource path in this manner and make exportId as a replacement variable (checkbox)

    https://[instance].mktorest.com/bulk/v1/leads/export/
    exportId
    /enqueue.json