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
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 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:
- Use the REST API to upsert a record to a DE from your Custom Activity
- Create a cardinal relationship in Contact Builder to the DE used in Step 1
- 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!
Method 2
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.
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0