Version: 17.07
Supported Since: 17.07
Marketo Lead DB egress connector can be used to communicate with Marketo Lead Database REST APIs for information retrieval and information update operations on entities such as Leads, Activities, Campaigns, Static Lists and Statistics.
This connector mainly takes care of the authentication operations related to the Marketo REST API such as retrieving and caching authentication tokens, submitting authentication token with API requests and reacquiring new tokens on expiration. In addition to that, it also bears the burden of invoking the Marketo endpoints with the correct URL path parameters and query parameters based on the user configured inputs parameters.
By default, this connector will fetch the metadata about lead objects in the target Marketo instance, including a list of all fields available for interaction via the APIs. This behaviour can be changed by using this in combination with one of its available connector operations.
In order to use the Marketo Egress Connector, you must first select the Marketo Connector dependency from the connector list when you are creating an empty Ultra project. If you have already created a project, you can add the Marketo Connector dependency via Component Registry. From Tools menu, select Ultra Studio → Component Registry and from the Connectors list, select the Marketo Connector dependency. |
On Exception |
The message will be emitted from this out port if the connector failed to send the message to the intended Marketo endpoint. |
Response Processor |
The response message received from Marketo will be directed to this port. You can use this port to connect any precessing element or connector that is supposed to process/consume the response. |
Connector Operation |
This port is used to connect operational elements to the Egress Connector |
* marked fields are mandatory
Base URI * |
Basic |
Base URI to be used for connecting to Marketo. This can be found in the Admin > Web Services* menu in the REST API
section of the Marketo web interface and should be specified without the trailing |
Client ID * |
Basic |
Client ID of the custom service to be used for connecting to Marketo. This can be found in the Admin > LaunchPoint menu by selecting the custom service, and clicking View Details. |
Client Secret * |
Basic |
Client secret of the custom service to be used for connecting to Marketo. This can be found in the Admin > LaunchPoint menu by selecting the custom service, and clicking View Details. |
API Version |
Basic |
The version of the Marketo API to be used. The default value is |
This is an example use case of Marketo egress connector, on how to expose certain Marketo endpoint operations over HTTP to other applications or clients without giving them the burden of managing API credentials or authentication overhead.
In this example, an external HTTP client will send a HTTP request to UltraESB-X to get details of a Lead record
from Marketo. This HTTP request should have a header named lead-id
which contains the Marketo ID of the Lead record
to be obtained and another header name lead-fields
which contains the interested field values as a comma separated
list. Then Marketo egress connector in-combination with Get Marketo Lead Information connector operation can be
configured to fetch required Lead record according to these transport header values and return it as a JSON response.
To implement above use case, let’s create our integration flow named marketo-get-lead-by-id
and get required
components from the component registry. For this use case it’s required to get, Marketo Connector and HTTP NIO
Connector from the connector store.
First, a NIO HTTP Ingress Connector should be added and configured to accept HTTP requests from the external. Depending on the requirement, HTTP port and service path can be configured in the HTTP ingress connector.
Then a Marketo Egress connector should be added to integrate with Marketo endpoints. This egress connector should be configured with the details of the Marketo service account details including endpoint base URL, client key, and client secret.
After that, attach a Get Marketo Lead Information Connector Operation as the connector operation for the above Marketo egress connector to retrieve Lead information. This connector operation should be configured as follows to retrieve the information of the Lead record with the given ID.
Operation - Get Lead by ID
Lead ID - @{message.headers.lead-id}
(to resolve from the transport header with name lead-id
)
Fields - @{message.headers.lead-fields}
(to resolve from the transport header with name lead-fields
)
With all above elements, complete flow would look as below,
Now if you run the flow, and send a request to the configured HTTP endpoint with the required parameters as transport headers, you should get a JSON response with the details of the requested Lead record.