Explore more
Scenarios
Subscenarios
20min
subscenarios allow you to link multiple {{scenario plural lowercase}} together to form a scenario chain when the first {{scenario singular lowercase}} in the {{scenario singular lowercase}} chain finishes, it triggers the next {{scenario singular lowercase}} this is useful in workflows with different stages or processes that need to run in a specific order creating a {{scenario singular lowercase}} chain with subscenarios brings in the following features run in sequence when the first {{scenario singular lowercase}} finishes, it automatically triggers the execution of the next {{scenario singular lowercase}} this ensures that tasks are carried out in the desired order without manual intervention data transfer the first {{scenario singular lowercase}} can send data to the second {{scenario singular lowercase}} this allows for using the result of the first {{scenario singular lowercase}} as an input for the second {{scenario singular lowercase}} for example, you can send an order number to a {{scenario singular lowercase}} that updates the warehouse inventory and to another {{scenario singular lowercase}} that sets up tracking of the order delivery modularity you can split a complex {{scenario singular lowercase}} into multiple chained {{scenario plural lowercase}} by breaking down a complex workflow into smaller, manageable {{scenario plural lowercase}} , it becomes easier to design, debug, and maintain in addition, you can link the {{scenario singular lowercase}} with other {{scenario plural lowercase}} in the future, to avoid rebuilding the same logic for example, you can have multiple {{scenario plural lowercase}} to send customers notification emails and order invoices each of these {{scenario plural lowercase}} starts with a few modules retrieving user data with {{scenario singular lowercase}} chaining, you can extract the repeating modules to a separate {{scenario singular lowercase}} and put it at the start of the {{scenario singular lowercase}} chain types of scenarios in a scenario chain there are three types of {{scenario plural lowercase}} in a {{scenario singular lowercase}} chain parent {{scenario singular lowercase}} starts the {{scenario singular lowercase}} chain triggers bridge or child {{scenario plural lowercase}} can have multiple run a scenario modules bridge {{scenario singular lowercase}} connects child {{scenario plural lowercase}} or other bridge {{scenario plural lowercase}} with parent {{scenario plural lowercase}} in the {{scenario singular lowercase}} chain is triggered by a parent {{scenario singular lowercase}} or another bridge {{scenario singular lowercase}} in addition, the bridge {{scenario singular lowercase}} triggers another bridge {{scenario singular lowercase}} or a child {{scenario singular lowercase}} can have multiple run a scenario modules child {{scenario singular lowercase}} ends the {{scenario plural lowercase}} chain is triggered by parent or bridge {{scenario plural lowercase}} doesn't have any run a scenario modules the following diagram shows the relation between parent, bridge, and child {{scenario plural lowercase}} scenario chaining the {{scenario singular lowercase}} chains can even create branches, like this scenario chaining with branches create a scenario chain to create a {{scenario singular lowercase}} chain, you need to create multiple scenarios the following steps focus on a quick and simple showcase, where you don't need to build complicated {{scenario plural lowercase}} to try out {{scenario singular lowercase}} chaining keep in mind that {{scenario singular lowercase}} chaining brings the most benefits when you want to split a complex {{scenario singular lowercase}} into multiple parts overview of the steps to create a {{scenario singular lowercase}} chain create the parent {{scenario singular lowercase}} create the child {{scenario plural lowercase}} connect the {{scenario plural lowercase}} with run a scenario modules to form a chain from the parent and child {{scenario plural lowercase}} set the scheduling for the {{scenario plural lowercase}} in the {{scenario singular lowercase}} chain the {{scenario singular lowercase}} chain can be visualized like this scenario chaining jpg create the parent scenario in the parent {{scenario singular lowercase}} , we will use the openweather app to get weather data we will use the set multiple variables module to set the data we will be sending to the child {{scenario plural lowercase}} in {{product name}} , click create a new scenario in the {{scenario singular lowercase}} editor, click the big plus icon and search for the openweather app connect the get current weather module with the set mutliple variables module in the set multiple variables module, create new variables and map the data you want to send to the child {{scenario plural lowercase}} for example, map the temperature and pressure pills from the get current weather module to the london temperature and london pressure variables connect the get current weather module with the set mutliple variables module in the set multiple variables module, create new variables and map the data you want to send to the child {{scenario plural lowercase}} you created a starting piece of the parent {{scenario singular lowercase}} in the {{scenario singular lowercase}} chain your {{scenario singular lowercase}} should look like this create the child scenarios in the following steps, we will create two child {{scenario plural lowercase}} both child {{scenario plural lowercase}} will use scenario inputs and scenario outputs docid\ di1pkxe4s6 striu9spvv to receive data from the parent {{scenario singular lowercase}} click create a new scenario in the {{scenario singular lowercase}} editor, click the big plus icon and search for the gmail app in search results, select the send an email module set up the inputs for the {{scenario singular lowercase}} the {{scenario singular lowercase}} will expect the london temperature and london pressure variables as its inputs configure the send an email module use the {{scenario singular lowercase}} inputs in the email message confirm the module settings and save the {{scenario singular lowercase}} create another child {{scenario singular lowercase}} for example, you can use another messaging app if you have created a connection for it, like the slack app you have three new {{scenario plural lowercase}} in your make team, but they are not connected yet let's fix that connect the parent scenario with the child scenarios the following steps describe how to use the scenarios > run a scenario modules to connect the parent scenario with the child scenarios go to the first {{scenario singular lowercase}} with the get current weather and set multiple variables modules add the scenarios > run a scenario module to the {{scenario singular lowercase}} in the scenario field, select the {{scenario singular lowercase}} you want to trigger with the module if you are following the example, select the {{scenario singular lowercase}} which sends the email notifications note that the {{scenario plural lowercase}} are organized in {{scenario singular lowercase}} folders {{product name}} retrieves the {{scenario singular lowercase}} inputs of the scenario you select map the london temperature and london pressure variables to the {{scenario singular lowercase}} input fields note that at the top of the module settings, there's the inactive label informing you that the child scenario is not active there's also the child scenario id, the scenario folder and name and a preview link that opens a new tab with the child scenario open in the scenario editor click ok to confirm the settings and save the parent {{scenario singular lowercase}} open the run a scenario module settings again and click the preview link to go to the child {{scenario singular lowercase}} set the child {{scenario singular lowercase}} scheduling to on demand enable the {{scenario singular lowercase}} and save repeat the same steps for the second child {{scenario singular lowercase}} when you connect both of the {{scenario plural lowercase}} with the parent {{scenario singular lowercase}} , your list of {{scenario plural lowercase}} should look like this note the second to last column in the {{scenario singular lowercase}} list the column shows whether the {{scenario singular lowercase}} is a parent, bridge, or child {{scenario singular lowercase}} in a {{scenario singular lowercase}} chain users in organizations with the teams and enterprise pricing plans can see the column see make pricing for more information set the scheduling for scenarios in the scenario chain in the previous section, we've set the {{scenario singular lowercase}} scheduling to on demand to have the {{scenario plural lowercase}} enabled for testing without running them in intervals the {{scenario plural lowercase}} in the {{scenario singular lowercase}} chain have independent scheduling a child {{scenario singular lowercase}} can trigger with its own scheduling, in addition to being triggered by a parent or a bridge {{scenario singular lowercase}} for example, if the child scenario in a scenario chain runs every two hours, but the parent (or bridge) scenario triggers it every hour, then the child scenario will run four times in three hours 1st run the child {{scenario singular lowercase}} is triggered by the parent {{scenario singular lowercase}} an hour after the start 2nd run the child {{scenario singular lowercase}} triggers by it's own scheduling two hours after the start 3rd run the child {{scenario singular lowercase}} is triggered by the {{scenario singular lowercase}} two hours after the start 4th run the child {{scenario singular lowercase}} is triggered by the parent s {{scenario singular lowercase}} three hours after the start when setting {{scenario singular lowercase}} scheduling for {{scenario plural lowercase}} in the {{scenario singular lowercase}} chain, keep in mind that the scheduling of the linked {{scenario plural lowercase}} combines if you want to run {{scenario plural lowercase}} in a chain in a sequence, use on demand scheduling in the example, set scheduling for the parent {{scenario singular lowercase}} , but keep the child {{scenario plural lowercase}} running on demand the child {{scenario plural lowercase}} use the {{scenario singular lowercase}} inputs from the parent {{scenario singular lowercase}} with no default values if the child {{scenario plural lowercase}} would run with a schedule on their own, they wouldn't contain any values for the {{scenario singular lowercase}} inputs you can prevent running a {{scenario singular lowercase}} with empty {{scenario singular lowercase}} inputs by setting the {{scenario singular lowercase}} input field as required and the scheduling to on demand migrate from using the run a scenario module the run a scenario module from the {{product name}} app enables you to trigger a {{scenario singular lowercase}} run from another {{scenario singular lowercase}} the run a scenario module from the scenarios app works similarly the major advantage of {{scenario singular lowercase}} chaining over triggering a {{scenario singular lowercase}} with the {{product name}} app is the management utility and auditability of {{scenario singular lowercase}} chaining you can view connected {{scenario plural lowercase}} in the relation tree tab and you can see chained {{scenario plural lowercase}} in the {{scenario singular lowercase}} list and history for a full comparison of the individual approaches to trigger a {{scenario singular lowercase}} from another {{scenario singular lowercase}} , check the subscenarios docid 9cmtjaptug8sqnm3uq ay to start using {{scenario singular lowercase}} chaining instead of the run a scenario module from the make app go to the {{scenario singular lowercase}} that uses the make > run a scenario module swap the make > run a scenario module for the scenarios > run a scenario module in the scenario field, select the {{scenario singular lowercase}} you want to trigger optional if you transfer data between {{scenario plural lowercase}} , map {{scenario singular lowercase}} inputs to the run a scenario module review the scheduling of the child {{scenario singular lowercase}} the child {{scenario singular lowercase}} can have its own scheduling in addition to being triggered from the {{scenario singular lowercase}} chain you can access the child {{scenario singular lowercase}} from the preview link in the run a scenario module settings check the relation tree tab in the details of any of the {{scenario plural lowercase}} the relation tree tab is now showing two {{scenario plural lowercase}} the parent {{scenario singular lowercase}} is the {{scenario singular lowercase}} that contains the run a scenario module, and the child {{scenario singular lowercase}} is the {{scenario singular lowercase}} triggered by the module migrate from using the http and custom webhook apps with the http > make a request module, you can send data to a webhooks > custom webhook module the scenarios > run a scenario module works differently run a scenario module sends data to a {{scenario singular lowercase}} through {{scenario singular lowercase}} inputs, instead of using the http app the major advantage of {{scenario singular lowercase}} chaining is the management utility and auditability of {{scenario singular lowercase}} chaining you can view connected {{scenario plural lowercase}} in the relation tree tab and you can see chained {{scenario plural lowercase}} in the {{scenario singular lowercase}} list and history you can also use the {{scenario singular lowercase}} inputs to validate the data you send to the child {{scenario singular lowercase}} instead of checking the data after the webhook receives them for a full comparison of the individual approaches to trigger a {{scenario singular lowercase}} from another {{scenario singular lowercase}} , check the subscenarios docid 9cmtjaptug8sqnm3uq ay to start using {{scenario singular lowercase}} chaining instead of the http and custom webhook modules go to the {{scenario singular lowercase}} with the http > make a request module swap the http > make a request module for the scenarios > run a scenario module in the scenario field, select the {{scenario singular lowercase}} you want to trigger optional set up {{scenario singular lowercase}} inputs to transfer data from the parent {{scenario singular lowercase}} to the child {{scenario singular lowercase}} make will evaluate the structure of the inputs before running the {{scenario singular lowercase}} , which increases the reliability of the {{scenario singular lowercase}} chain remove the custom webhook module from the child {{scenario singular lowercase}} review the scheduling of the child {{scenario singular lowercase}} the child {{scenario singular lowercase}} can run on demand when triggered from the parent {{scenario singular lowercase}} , or can have its own scheduling in addition to being triggered from the {{scenario singular lowercase}} chain check the relation tree tab in the details of any of the {{scenario plural lowercase}} the relation tree tab is now showing two {{scenario plural lowercase}} the parent {{scenario singular lowercase}} is the {{scenario singular lowercase}} that contains the run a scenario module, and the child {{scenario singular lowercase}} is the {{scenario singular lowercase}} triggered by the module manage scenario chains {{scenario singular}} chaining simplifies the management of {{scenario singular lowercase}} sequences, where one {{scenario singular lowercase}} triggers another this approach eliminates the need for naming conventions or organizing sequences in folders instead, you can easily monitor and manage the {{scenario plural lowercase}} within a {{scenario singular lowercase}} chain from multiple places in make the {{scenario singular lowercase}} relations, like the relation tree tab {{scenario singular lowercase}} relations in the list of {{scenario plural lowercase}} {{scenario singular lowercase}} relations in the {{scenario singular lowercase}} history show only to users in organizations with the teams and enterprise pricing plans users in other organizations have to track {{scenario singular lowercase}} relations differently see make pricing for more information run a scenario module when you select a {{scenario singular lowercase}} in the scenarios > run a scenario module, you can see at the top of the module settings information about the {{scenario singular lowercase}} triggered by the module you can see whether the {{scenario singular lowercase}} is enabled (active) or disabled (inactive) {{scenario singular lowercase}} id the {{scenario singular lowercase}} folder name the preview link clicking the preview link opens a new browser tab with the linked scenario open in the scenario editor relation tree tab scenarios that are part of a scenario chain have the relation tree tab the relation tree tab shows {{scenario plural lowercase}} directly connected to the currently open {{scenario singular lowercase}} in the {{scenario singular lowercase}} chain the open {{scenario singular lowercase}} is outdented in the {{scenario singular lowercase}} relation tree a column in the relation tree shows the relation of the {{scenario singular lowercase}} in the {{scenario singular lowercase}} chain the scenario list also shows the {{scenario singular lowercase}} chain relations bundles output by the run a scenario module contain a link to the triggered {{scenario singular lowercase}} run scenario history contains a link to the scenario that triggered the scenario run there is no link if the {{scenario singular lowercase}} in the {{scenario singular lowercase}} chain runs because of its own scheduling instead of being triggered by a parent or a bridge {{scenario singular lowercase}} add scenarios to a scenario chain to add a {{scenario singular lowercase}} to an existing {{scenario singular lowercase}} chain create the {{scenario singular lowercase}} you want to add to the chain go to the {{scenario singular lowercase}} from which you want to trigger the new {{scenario singular lowercase}} in the parent {{scenario singular lowercase}} , add the scenarios > run a scenario module in the scenario field, select the {{scenario singular lowercase}} you want to trigger (the {{scenario singular lowercase}} created in step 1) you connected the {{scenario plural lowercase}} to a {{scenario singular lowercase}} chain check the relation tree tab of the added {{scenario singular lowercase}} to see the {{scenario singular lowercase}} connected to the parent {{scenario singular lowercase}} make sure to review the {{scenario singular lowercase}} scheduling and enable the added {{scenario singular lowercase}} remove scenarios from a scenario chain to remove a {{scenario singular lowercase}} from a {{scenario singular lowercase}} chain go to the parent {{scenario singular lowercase}} which triggers the {{scenario singular lowercase}} you want to remove in the parent {{scenario singular lowercase}} , remove the scenarios > run a scenario module you removed the {{scenario singular lowercase}} from a {{scenario singular lowercase}} chain the removed {{scenario singular lowercase}} doesn't have a relation tree tab anymore and make doesn't highlight the {{scenario singular lowercase}} as a part of a {{scenario singular lowercase}} chain scenario chaining comparison with other options to connect scenarios if you are a power user of {{product name}} , you might know of other options on how to connect {{scenario plural lowercase}} into a sequence the following table compares the other approaches with {{scenario singular lowercase}} chaining scenario chaining make app run a scenario trigger a webhook with the http app {{scenario singular}} triggering scenarios > run a scenario make > run a scenario http > make a request the follow up {{scenario singular lowercase}} has to start with a webhook module setting next {{scenario singular lowercase}} select from a list of {{scenario plural lowercase}} , categorized in folders the {{scenario singular lowercase}} has to be in the same team search {{scenario plural lowercase}} available through the make app connection you can run {{scenario plural lowercase}} in any organization or team to which you have access you have to know the webhook url you can trigger any webhook if you know its url sending data use the scenario inputs and scenario outputs docid\ di1pkxe4s6 striu9spvv to accept data from the previous {{scenario singular lowercase}} use the scenario inputs and scenario outputs docid\ di1pkxe4s6 striu9spvv to accept data from the previous {{scenario singular lowercase}} send the data in the http request body or in the query parameters {{scenario singular}} sequence management each {{scenario singular lowercase}} in the chain has the relation tree overview in the {{scenario singular lowercase}} list, you can see which {{scenario singular lowercase}} is a parent, bridge, or child in a chain in the {{scenario singular lowercase}} execution history, you can distinguish between {{scenario singular lowercase}} runs triggered by another {{scenario singular lowercase}} in the chain the bundles generated by the run a scenario module contain a link to the execution log of the next {{scenario singular lowercase}} in the chain there are no dedicated management options you can put sequence {{scenario plural lowercase}} in a dedicated folder, use custom scenario properties docid\ bnec obvquioirejmamyk , or create your own naming convention there are no dedicated management options you can put sequence {{scenario plural lowercase}} in a dedicated folder, use custom scenario properties docid\ bnec obvquioirejmamyk , or create your own naming convention {{scenario plural}} running in parallel you can trigger the next {{scenario singular lowercase}} in a chain before it finishes it's current run you can have multiple {{scenario plural lowercase}} running in parallel you can have multiple {{scenario plural lowercase}} running in parallel you can run webhook triggered {{scenario plural lowercase}} in parallel scenario chaining limitations {{scenario singular}} chaining has certain feature limitations to help you avoid creating complex or unmanageable chains that could result in infinite loops these limitations are as follows you cannot use the run a scenario module to trigger the current {{scenario singular lowercase}} itself you cannot form a circular {{scenario singular lowercase}} chain if a {{scenario singular lowercase}} is already part of a {{scenario singular lowercase}} chain, you cannot add it again to the same chain you cannot connect {{scenario plural lowercase}} from different teams you can only create a {{scenario singular lowercase}} chain from scenarios within the same team