Key concepts
Credits & operations
Operations
11 min
operations recently changed as a term and concept this article reflects the new definition of operations when you use features in make, you'll notice that your activities result in operations a good understanding of operations is key to a broader view of how make works how data flows through scenarios and is processed in this guide to operations in make, you'll learn what operations are, how they work, and where to check them for debugging or credit usage tracking purposes what are operations? an operation is a single module run to process data or check for new data when you run a scenario, each of its modules runs one or more times, resulting in 1 or more operations a module's number of operations depends on the number of bundles it processes for now, think of a bundle as a unit of data, like an email, contact, or file examples the gmail > send an email module sends 5 emails = 5 operations (one per email) the google drive > upload file module uploads 3 files = 3 operations (one per file) the exception to this rule is types of modules docid\ bkdeyubelio6yvvcosrxj , which only run once to check for or retrieve data, regardless of the number of bundles returned the google sheet > watch new rows module checks for new rows in a google spreadsheet = 1 operation (one per check) when you run a scenario, the checkmark icon (the first number) in the white bubbles above modules shows each module's operation count the coin icon (the second number) shows the number of credits docid\ hh nrtakeqakbmg63uuin consumed by those operations by default, the white bubble only shows operations you can toggle on credits next to the scenario name what are bundles? bundles are containers that hold related data items, and data items are individual pieces of data when you click a white bubble above a module and expand an operation, you can see the bundles that the module processed for example, when a module runs to add new contacts to a table, each contact is a bundle a bundle can include several data items, parameters such as name, last name, and email input and output bundles an operation contains two types of bundles input bundles and output bundles an input bundle is the data a module receives, and an output bundle is the module's response data in a scenario, the trigger module first retrieves bundles from an external source the next module receives these bundles as input bundles this module processes these bundles according to its function in the scenario, resulting in output bundles this process repeats throughout the scenario how bundles relate to operations while an operation is a module run to process or check data, a bundle is the processed data modules process each bundle separately, meaning each bundle triggers its own module run for example, adding 5 contacts to a sheet requires 5 runs, resulting in 5 operations since each bundle requires a module run, bundles in earlier modules have a multiplying effect on the operations in the rest of the scenario a trigger module runs once to check for new data > 1 operation if the trigger module returns multiple bundles, the next modules run once for each bundle > that many operations example a scenario watches for responses to a google form, creates a document for each response, downloads it, and emails the document to each respondent in the last scenario run, the trigger module, google forms > watch responses , returned 10 new bundles (responses) here's a breakdown of the total operations in this run trigger 1 operation other modules 10 operations each (10 bundles per run) total 31 operations (1+30) for each scenario run viewing operations looking at your operations in detail is useful for debugging, understanding your credit usage, and monitoring your activities in make to view operations in a scenario click the white bubble above any module after running a scenario expand individual operations to see their bundles processed expand bundles to see their data items next, you'll walk through an example of how to view your operations and optimize them for the future example your scenario starts with a google sheets > watch new rows module that watches a spreadsheet for new contacts after running the module, the white bubble shows 1 operation, but when you expand it, you see 10 bundles—one for each contact returned after expanding a bundle, you can see a contact's first and last name, email, city, and other details the next module, gmail > send an email , sends 1 email to your company's sales manager for each new contact, including contact details the module's white bubble shows 10 operations—one for each email sent you return to this scenario run to look at its operations in detail after finding and clicking the scenario in your scenario list, you navigate to its history tab you locate the scenario run with 11 operations and click details in details , you can view a simple and advanced history log of the scenario run you click on the gmail > send an email module's white bubble to learn more about its 10 operations you can see that each operation is an email for a contact after reviewing this scenario, you decide to optimize it so that it sends a single email with all new contacts in the body, instead of sending 10 separate emails (one for each new contact) to do this, you add a text aggregator to combine all new contacts this adjustment reduces total operations for this run from 11 to 3