I have an package in Marketing Cloud that adds a custom Activity to Journey Builder. Upon notification to my Activity that a contact has enter the step, my App reaches back out to Marketing Cloud to retrieve data from a Data Extension based upon configuration.

The app is having difficulty in one Org based upon a Journey's entry where a the requests to Marketing return no Data Extension records. In the case a Journey is triggered via Api Event, no records are retrieved, but when a Journey is trigger via Data Extension entry event, all the data from the Data Extension record is retrieved with no issue.

To test, I have two Journeys with an entry event and my Activity -- one with an Api Event and one with a Data Extension listener, both configured to use the same Data Extension. I trigger the Api Event, see the Data Esxtension updated with the valid data, then see my App ask for the data from Marketing Cloud and get a Soap response with no records. I then see the Data Extension entry Journey pick up the new DE row, notify my App, and see the record returned from the Soap call with the valid data I sent to the Api Request.

I cannot reproduce this behavior in another Org.

I am having a difficult time troubleshooting behavior that seemingly differs solely based upon entry event. Is there some permissions around Api Event-triggered Journeys required that differs from the Data Extension Read/Write access granted by the package? Any known limitations of Api Entry Events I may have missed? Known bugs (I do not see any relevant reportings)?

  • I have figured out my issue. Revolves around Contact, Subscriber, Data Extension relationships and how I am querying on my calls into Marketing Cloud to get the information.
    – Mike
    Jul 24, 2018 at 20:32
  • 1
    Please could you provide further information to your resolution as an 'answer', so your question does not remain unanswered (and others with the same issue will benefit from it). Jul 25, 2018 at 6:53
  • Sure thing. Done.
    – Mike
    Jul 25, 2018 at 20:54

1 Answer 1


My issue was querying for Data Extension based upon ContactKey.

The Contact Key in the JSON payload when the Api Request is made is set as an email address.

A Data Extension links to Subscriber Key on Subscriber.

In this instance, Subscriber Key is not a Contact's email address; therefore, assuming I could query using the Contact Key as the Subscriber Key in order to retrieve the needed Data Extension record is an incorrect assumption.

It feels a little strange to me that the Payload for an Api Event takes a Contact Key at all while the actual Journey's DE is keyed to Subscriber with a column in the DE and not directly related to Contact. I suppose this feeling may be a lack of full understanding in the relationships of these objects within Marketing Cloud, but I am slowly figuring it out and modifying my application to suit.

You must log in to answer this question.

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