Key concepts
Apps & modules
Types of modules
27min
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 lowercase}} editor 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 docid\ pdopibceckcbomppkplmy for more in depth insights triggers, searches, actions, and universal modules you can categorize modules into four groups depending on what they do with data in {{product name}} triggers searches actions universal modules triggers a trigger is a module used to track changes in a service and pulls it 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 docid\ pdopibceckcbomppkplmy to learn more trigger types there are two types of triggers in {{product name}} a polling trigger an instant trigger polling triggers a polling trigger checks if there are any changes in your service account since the previous run according to the schedule a scenario docid\ scpfttwgfapf077ujo1jh a polling trigger makes a request to the service if there are changes, you see them in the module’s output as bundles if there are no changes, you see no bundles click schedule settings in the {{scenario singular lowercase}} toolbar to set how often a trigger module runs you can recognize a polling trigger by its name it usually starts with watch watch a record, watch a row, etc a polling trigger never has an instant tag attached to it you can select a starting point when a module starts tracking changes in the service see more information in the types of modules docid\ pdopibceckcbomppkplmy instant triggers an instant trigger works in a different way the service notifies {{product name}} whenever a change happens basically, an instant trigger is webhooks docid 1yhunj8jvzyxip9cf3ps1 a link that the service uses to send data to {{product name}} whenever changes occur when you add an instant trigger, {{product name}} asks you to create a webhook some services may require to create a connection before you can create a webhook it's like buying plane tickets a polling trigger is when you visit the airline's website yourself to check for discounts an instant trigger is like getting a notification from the website when discounts are available if you add an instant trigger, your {{scenario singular lowercase}} schedule is automatically set 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 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 docid\ pdopibceckcbomppkplmy 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 docid\ pdopibceckcbomppkplmy 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 apps 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 docid\ pdopibceckcbomppkplmy 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 searches 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