We have a few custom journey builder activities and a marketing cloud application in a package that we would like to publish on App Exchange. But how do we authenticate each installations of the package? The custom activity and marketing cloud app need to list the columns in data extension. So we need to call SFMC API for each of the marketing cloud customer instances during interaction. Please help to understand how to do such authentication and sharing of API integration details.

1 Answer 1

  1. Do you want to make Rest API calls to client's SFMC instance? If so, you would need their 'Tenant Specific endpoint'. You can get this value only when the app is published in app exchange and during two-legged authentication

  2. Do you want to get the list of fields from the DE used in Entry Source of Journey [or] do you want to list the fields of any DE? If first one, then use postmoger function connection.trigger('requestTriggerEventDefinition'); (ref - Postmonger Functions list. If second, then REST api is the way to go.

  • Thank you so much for your response. #1- Yes, we want to make REST API calls to client's SFMC instance. So when the app is published, how does the backend system receives this tenant specific endpoint? Could you please explain some more details on the user flow and how details required for API call would be passed to the backend? #2 - We would like to have the DE used as entry source. Will check for the requestTriggerEventDefinition in postmonger.
    – krish
    Commented May 4, 2023 at 18:04
  • And is it possible to have dynamic endpoints for the custom activity while publishing the package?
    – krish
    Commented May 4, 2023 at 18:17
  • For #1 - make an API call to your hosted server with static endpoint and then your server would make a call to client's SFMC REST TSE endpoint. To get client TSE, you can get it from auth request (this comes up only when you install your app through app exchange). Commented May 9, 2023 at 14:36
  • Thank you for your response. Understood that we could get the TSE from the auth response. But how do we pass the clientid and client secret of each customer to the hosted server? Or is it possible to get accesstoken without clientid and secret? Sorry for repeated questions.
    – krish
    Commented May 10, 2023 at 4:23

You must log in to answer this question.

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