NOTE: This app and the associated code is NOT production quality, its pure purpose is to demonstrate the full flow of custom interactions in Journey Builder
- Node.js (if you'd like to test locally)
- A Marketing Cloud Account with Journey Builder
- A publicly accessible web server (this template was built using a free Heroku account with SSL support
This guide covers Heroku, skip this step if you are familiar on how to deploy a Node.js app
- Fork and Clone this repository
- Login into Heroku
- Click on New > Create new app
- Give a name to the app and click on "Create App"
- Choose your preferred Deployment method (Github or Heroku Cli are nice to work with)
- Click on "Deploy branch"
- Once your branch is deployed, click on the "View" button and verify you see the welcome message
- Login to Marketing Cloud and Navigate to Administration > Account > Installed Packages
- Click on New and enter a name and a description for your package
- Copy the JWT Secret value from the Summary page and save it for later
- Click on Add Component, select Journey Builder Activity and Click next
- Enter the information about the activity, enter [url of your activity] as your Endpoint URL
- Click Save
- Copy the Unique Key value from the Journey Builder Activity panel and save it for later
- Open /public/config.json and:
- Replace application_key_from_appcenter_here for the value you got from step 7 from the previous section
- Replace [your-domain-here] with the domain for your website
- Open /public/images and replace with the icons for the activity to your liking
- Log back into Heroku and navigate to your app
- Click on "Settings"
- Click on "Reveal config vars"
- Add a new var called jwtSecret and paste the App Signature you got from step 3 when configuring your package in Marketing Cloud
- Login into Marketing Cloud and navigate to Journey Builder
- You should be able to see your custom activity and drag it into the canvas!