I've just started learning Journey Builder, or Marketing Cloud for this matter, the other day. My goal is to create a Custom Activity that would post data to an endpoint URL. So, I've performed the following:
- Created the Data Extension and named it "APITestUsers" and added the following fields: Email, Name, Phone and Origin. I've also put in two test records as you can see below.
- Created an Attribute Group named "PostData" (Is this required BTW?)
- Linked the Contact Key field to my Data Extension's Email field.
- Set up a journey utilizing the data extension and the custom activity.
I've followed the guides and tips here: Creating a custom activity, How data binding works, Sample REST activity
Below is the "arguments" node in my config.json:
"arguments": {
"execute": {
"inArguments": [
{
"contactIdentifier": "{{Contact.Key}}"
},
{
"phoneNumber": "{{Contact.Attribute.PostData.Phone}}"
}
],
"outArguments": [
{
"foundSignupDate": ""
}
],
"url": "(my execute URL)"
}
},
And this is the response I get:
{ "inArguments": [ { "contactIdentifier": "(contact email here)" }, { "phoneNumber": "" } ], "outArguments": [ { "foundSignupDate": "" } ], "activityObjectID": "a9acbef2-1055-4247-b6d3-7ec02da9644a", "journeyId": "72340558-049a-4350-b44d-d76af8a31a4f", "activityId": "a9acbef2-1055-4247-b6d3-7ec02da9644a", "definitionInstanceId": "8a03990e-fd07-4b6b-be03-07a39bc79d41", "activityInstanceId": "dea3ab26-0508-4b84-af2d-5fe4cb7dd219", "keyValue": "(contact email here)", "mode": 0 }
To my desperation, I've also tried other data-binding values and the results are always either the Execute URL doesn't get triggered, or I just get an empty field:
- {{Contact.Attribute.Phone}}
- {{Contact.Phone}}
- {{Contact.Default.Phone}}
- {{Contact.Attribute.APITestUsers.Phone}}
I am clearly missing something here. Please advise, guys. Thanks much!