1

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?

Thanks

1

Update

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:

{{Interaction.ActivityCustomerKey.OutArgumentName}}

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"}], }}} – michael.rockway Oct 24 '16 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? – Eliot Harper Oct 24 '16 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. – michael.rockway Oct 25 '16 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). – Eliot Harper Oct 25 '16 at 16:39
  • Here is a link to the config.json – michael.rockway Oct 25 '16 at 17:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.