Key concepts
Apps & modules
Types of modules
26 min
in {{product name}} , a module is a building block you use to create a {{scenario singular lowercase}} think of it as bricks that you put together to automate your processes each module performs a particular action, such as retrieving data from a service, creating or updating a record, downloading a file, or searching for specific data based on certain conditions for example, your {{scenario singular lowercase}} can have three modules one module watches for new customer data in a crm, the second module converts the data into another format, and the last module sends that information to a different service you can find all available modules in the app list when selecting a specific app in the {{scenario singular}} builder understanding each module type helps you navigate {{product name}} more easily, build advanced {{scenario plural lowercase}} , and operations docid\ dh03uonbe4mgqlyiszrs7 while reducing costs in this article, you'll discover the different types of modules in {{product name}} and how to use them in your {{scenario plural lowercase}} if you're an advanced user, be sure to check out types of modules /#advanced tips and examples for more in depth insights triggers, searches, actions, and universal modules there are four types of modules in {{product name}} based on what they do with data types of modules /#triggers types of modules /#searches types of modules /#actions types of modules /#universal modules triggers a trigger tracks changes in a service and brings them to {{product name}} so you can use the data in your {{scenario singular lowercase}} a trigger only shows new data from your service account each time a {{scenario singular lowercase}} processes trigger data, it's data that hasn't been processed before in that {{scenario singular lowercase}} for example, a trigger might detect when a new record is created, or an old record is deleted you can add a trigger only once in the {{scenario singular lowercase}} as the first module this ensures that the trigger initiates the {{scenario singular lowercase}} by detecting the relevant changes and pulling in the data for further processing we highly recommend starting your {{scenario singular lowercase}} with a trigger still, you can start your {{scenario singular lowercase}} with any possible module see the types of modules /#using different modules as a trigger to learn more trigger types there are two types of triggers in {{product name}} types of modules /#polling triggers types of modules /#instant triggers polling triggers a polling trigger checks for new data in a service account since the last {{scenario singular lowercase}} run, based on the scenario's schedule a scenario docid\ scpfttwgfapf077ujo1jh you can recognize this trigger type by its name, which often starts with "watch" "watch a record," "watch a row," and so on the polling trigger sends a request to the service if new data exists, the scenario runs, and you see the data in the module’s output as bundles if not, you see no bundles a scheduled {{scenario singular lowercase}} run that checks for new data in a service, but returns no data, is called a check run you can view check runs in the scenario history docid 9z2xnh lyy62cfahjfhj5 , located in the history tab of {{scenario singular lowercase}} details click schedule settings in the {{scenario singular lowercase}} toolbar to set how often a trigger module runs you can choose a starting point for the module to check for new data in a service learn more in types of modules /#selecting the first bundle for a polling trigger instant triggers with an instant trigger, the service notifies {{product name}} when new data arrives, starting the scenario immediately in essence, an instant trigger is webhooks docid 1yhunj8jvzyxip9cf3ps1 a link that the service uses to send new data to {{product name}} when you add an instant trigger, {{product name}} asks you to create a webhook some services may require you to create a connection beforehand if you add an instant trigger, you automatically set the {{scenario singular lowercase}} schedule as immediately as data arrives you can reschedule a {{scenario singular lowercase}} if needed in this case, a webhook receives data as soon as it arrives and stores it in a queue until the next {{scenario singular lowercase}} run according to a new schedule you can recognize an instant trigger by a lightning icon and an instant tag to understand how instant and polling triggers differ, think of buying plane tickets while a polling trigger is like regularly visiting an airline's website to check for discounts, an instant trigger is like the website notifying you when discounts are available searches a search module helps you to get specific data from a service such as records, profiles, or other objects search modules are flexible you can add as many as you need and place them anywhere within your {{scenario singular lowercase}} search types there are two types of search modules in {{product name}} a search module allows filtering and using search queries to find specific data for example, search records, search rows, etc a list module retrieves all data from a service without any filtering {{product name}} returns all objects that you have in your service account for example, list records, list sheets, list customers, etc in most cases, when using searches, you can get up to 3,200 objects per module run also, additional third party api limits may exist see the types of modules /#module limits below for more details actions an action module processes the data retrieved from a service it’s one of the most commonly used modules in {{product name}} you can include as many as you need and position them anywhere in your {{scenario singular lowercase}} there are the following types of actions in {{product name}} get create update delete some actions are specific to the service, such as pin, save, or download unlike search modules that provide information about all objects or objects that match module filters, a get module helps to receive information about one specified item you should specify an object id to get information about it read more in the types of modules /#difference between search and get modules universal modules a universal module allows you to make a custom api call to a service when {{product name}} doesn't provide a pre built module for an api endpoint you need this module, usually called the make an api call module, is available for most services you may need to refer to the service api documentation to see a full list of available api endpoints you can add as many universal modules as needed and place them anywhere in your {{scenario singular lowercase}} if {{product name}} doesn't have an app for a service you need, you can use the http app docid\ qweemet5lyifltajd8vfq to make api calls apps and tools modules can be split into two groups based on whether they need to connect to a service or use a third party api there are two types types of modules /#apps types of modules /#tools apps when adding modules of an app, you need to create a connection to start working with them each module serves a specific action for example, to get data, create a record, or delete a profile in your service account you can associate a certain app module with a specific service api endpoint linkedin, google sheets, hubspot crm, trello and many more https //www make com/en/integrations?community=1\&verified=1 are apps in {{product name}} when you add a module, you see the create a connection or create a webhook buttons in the connections section https //www make com/en/help/connections , you can learn more about connections in {{product name}} some apps don't require creating a connection, but they still use a third party api you may face third party api limits when working with these apps see the types of modules /#module limits below for more details tools with tools, you don't need to set up a connection nor use a third party api instead, you enter your data or customize module settings, and the module is ready to work examples include iterator, aggregator, data store, compose a string, set variable, and many more these modules are ready to go as soon as you add them however, some tools might require some setup before you can use them for example, data store might ask you to create a data store within {{product name}} advanced tips and examples in this section, you can find advanced tips and practical examples for using modules in {{product name}} module limits while using modules, you might run into limits that could cause errors in your {{scenario singular lowercase}} most searches can only process up to 3,200 objects or 5mb of data per run you only see the first 3,200 objects searched or as many as fit within the 5mb limit, even if there are more some modules only have a data size limit each module can receive or process up to 5mb of data per run keep in mind that the service's api limits may apply for example, if the api allows only 1,000 objects, that’s all you will receive no matter which type of modules you use you can refer to the service api documentation to learn more about its limits here are two best practices to avoid errors and make sure your {{scenario singular lowercase}} runs smoothly when available, use the limit field to define how many objects you want to receive during one run use a search module if you need specific data search modules let you narrow down results with filters and search queries if you use the limit field, it's essential to set the right limit for the data being returned per one run for example, with a polling trigger , you need to find a balance if the limit is too low, {{product name}} will only process a part of data, and the rest will have to wait until the next run this could cause delays in data processing if a lot of new data arrives if the limit is too high, you might retrieve too many objects in one run this also increases the risk of hitting the 40 minute {{scenario singular lowercase}} run time limit if you need to perform many actions on each object we recommend setting the limit according to the number of new objects you plan to get for each {{scenario singular lowercase}} run acid modules modules tagged as acid support rollback {{product name}} will undo all the actions an acid module takes if an error occurred in subsequent modules imagine your acid module receives two bundles the next module processes the first one but encounters an error with the second one in this case, {{product name}} rolls back the acid module as if nothing was received on the next run, the acid module gets the same two bundles again the next module being non acid will try to process both bundles once again you can recognize the acid module by the acid tag difference between search and get modules unlike search modules that provide information about all objects or objects that match module filters, a get module helps to receive information about one specified object you should specify an object id to get information about it for data, this means search or list modules usually return several bundles because there are multiple objects to retrieve get modules, however, always return a single object, which means only one bundle using update modules with an update module, you can perform three actions erase content using the erase keyword in a content field you can find it in the general functions tab use this keyword only if you make a put api call if you perform a patch api call, leave a space in a content field leave content as it is by leaving a content field empty overwrite content by entering new data in a content field using different modules as a trigger while we recommend starting a make with a watch module, you can also begin with a search module or action module, depending on your goal for example, if you need specific data, a search or list module can act as a polling trigger starting a make according to the make schedule if you make a non watch module a polling trigger, you cannot add a watch module afterward selecting the first bundle for a polling trigger you can decide where to start to track changes made in the service to do it, right click the module and then click choose where to start typically, you have the following options the current moment a specific date a specific id or a record, or an email the first record or email settings may vary depending on the app the option that you select in the choose where to start menu only applies to the first run of the module subsequent runs track changes that occurred in the third party app since the previous run