I am creating custom activities that will return outArguments that include a targetingID for each subscriber. I'd like to use the update contact activity within journey builder rather than an API call to make the updates. I have been able to see that the outArgument returns the correct data but cannot find a way to pass that along to Update Contact. Has anyone been able to pass information from a custom activity to a journey builder default activity?


2 Answers 2



While you can use Data Binding with an Update Contact Data Activity, it appears that outArguments from a Custom Activity cannot be passed to a Standard Activity, only Custom Activities.

The only solution is to:

  1. Use the REST API to upsert a record to a DE from your Custom Activity
  2. Create a cardinal relationship in Contact Builder to the DE used in Step 1
  3. Use Data Binding in the Contacts Context in your Update Contact Data Activity. For example: {{Contact.Attribute.[AttributeSet].[Attribute]}}

Original Answer

Yes, this is possible. You can do this using Data Binding in the Interaction Context. You will simply need to paste the following string into the value field of the Update Contact Data Activity dialog:


Refer to example screenshot below. ActivityCustomerKey is the interaction-unique 'key' value for the Custom Activity that you created. Assuming that you only have one Custom Activity in your Interaction, this will be REST-1 but you can use the REST API to get Interaction by ID if you want to confirm this.

OutArgumentName is the name that you assigned to your OutArgument in your Custom Activity.

It's nice that you can use Data Binding string (in any context) in the Update Contact Data Activity!

Update Contact Data Activity

  • Thanks for your answer. I am running into trouble activating the interaction after using the method mentioned above. Here is the code. Can you see anything that looks wrong? { "key": "DATAEXTENSIONUPDATE-2", "type": "DATAEXTENSIONUPDATE", "arguments": {"value": "{{Interaction.REST-1.targetingID}}"} }, { "key": "REST-1", "type": "REST", "arguments": { "execute": { "inArguments": [{"activity-name": "some name"}], "outArguments": [{"targetingID": "id"}], }}} Commented Oct 24, 2016 at 18:13
  • what is the "trouble" that you are running into specifically? Are you sure that a targetingID value is being passed as an outArgument to the Journey? What is the field type that you are using in your Update Contact Data DE? Commented Oct 24, 2016 at 20:36
  • I am getting the following error: "Activity with key REST-1 does not contain the outArgument targetingID." I verified that they activity key is correct and the outargument contains "targetingID" when I query the interaction through the API. I am populating a nullable Text Field in the data extension. Commented Oct 25, 2016 at 16:24
  • The error would indicate that the outArgument is not configured correctly. Can you provide a link to your config.json file? Can you also try using the following string in your Update Contact Data Activity field and confirm that it populates the Contact Key in the DE: {{Contact.Key}} (just to check that Data Binding is working). Commented Oct 25, 2016 at 16:39
  • Here is a link to the config.json Commented Oct 25, 2016 at 17:04

I noticed that the resolution to this was that we are unable to access the outValues of a Custom Activity from a Standard Activity. I wanted to point out that I got this working by using Eliot Harper's solution about Data Binding {{Interaction.Rest-1.targetingId}}, but I also had to specify the schema of the out arguments of the custom activity in config.json.

"schema": {
    "arguments": {
        "execute": {
            "inArguments": [],
            "outArguments": [
                    "targetingId": {
                        "dataType": "Text",
                        "direction": "out",
                        "access": "visible"

This allowed the Update Contact Activity to update a DE with the out arguments of the custom activity.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .