Automation Action: Call Automation
Call another Automation with a value and assign the return value to a variable.
The Call action enables you to call another Automation with a value and assign the return value to a variable. Select the Automation to call - this must be within the same Solution or an Automation saved to the Library. From the With Message Body Set To list - select the variable to pass to the called Automation. The called Automation will receive this value as its incoming message body value (%Msg_Body%). Other message properties (%Msg_Subject%, %Msg_From%, %Msg_To% etc.) will inherit the values from the currently executing message.
Passing HTML
If the With Message Body Set To entry is set to a %variable% containing HTML, then this will be available in the called Automation in the %Msg_HTML% built-in variable. The %Msg_Body% built-in variable will be automatically set to the plain text version of the HTML.
Passing Files
You can also optionally add attachments. Add one or more files (or %variables% containing file paths) in the With Attachments entry. Enable the Include Incoming Attachments and/or Include Incoming Inline Attachments options to include attachments contained with the currently executing message. You can enter a file mask in the Attachments Mask entry to only include matching attachments (eg: *.pdf).
Passing The Complete Currently Executing Message
If you want to pass the original message in its entirety you can set the With Message Body Set To entry to %Msg_Mime%. This will pass the currently executing message with no changes.
Wait For Completion
Automations can return a value using the Return action. Enable the Wait For Completion option and select the variable to receive the returned value from the Assign Return Value To list. The current Automation will wait until the called Automation has completed.
If Wait For Completion option is not enabled, then a new message for the selected Automation will be added to the process queue. The current Automation will continue without waiting for the new message to be processed.
Scheduled Execution
If the Wait For Completion option is not enabled then you can optionally enable the Scheduled Execution option. You can specify that the call should execute After x minutes, hours or days or At a specific date/time. If scheduled execution is enabled then the new message will be added to the process queue - but will not be executed until the specified execution time. Called Automations waiting to be executed will show in the Outbox list when viewing the Message Store using the Studio. You can delete pending messages if you need to cancel execution.
The Scheduled Execution option is useful if you have some actions in your Automation that you need to execute at a certain time or be delayed. You can place these actions in their own Automation and use the Call action with the Scheduled Execution option.
Called Automations can also call other Automations. An Automation cannot call itself. You should ensure that called Automations do not in turn call the parent (which would result in a loop).
Calling Automations From The Library
If you have created a generic Automation that would be useful to other Automations across all of your Solutions, then you can save it to the Library. Any Automation saved to the library can be called from any other Automation in any of your Solutions.