You essentially have 2 options and they vary in terms of speed and time necessary to develop them:
- Custom Journey Builder Activity (as suggested by zuzannamj)
This is by far the most proper approach and will give you the most flexibility and calls being executed as close to real-time as possible in Marketing Cloud, but it does require resources and time to develop.
- Update Contact activity in Journey Builder + Server Side JavaScript in Automation Studio
If you can't build a proper custom activity (due to time constraints, lack of developer resources) and need a quick way of automating those requests, you could go with the following approach:
- Create a data extension where you will be storing records that need to be sent out,
- Configure an Update Contact block to log contacts passing through your journey to be logged in the DE from the previous step
- Create an automation with a script activity that uses SSJS to read the contents of your data extension and sends it out to the external API.
You also need to remember that:
- you need to make the values passed to the data extension be dynamic and based on journey data (see the answer of JogSottot here)
- Update Contact writes up to 5 values in a single activity, so you might need more of them to pass all necessary data
- this solution will not be as close to real time as the Custom Journey Builder Activity - you can run the automation once per hour or more often if you duplicate it (or introduce wait times in it followed by next duplicate script activities in the same automation)
It's pretty much a quick and dirty solution, but it does not require so much development.