MAKE
Course #1 :
Discover MAKE
Build your first scenario
History & Market Context
History
2021
bought by
2020
2016
Market context
Created in
2016 - Czech Rep. 2012 - USA
Number of employees
179 500
Number of customers
500k 1 million
(unique account)
Integrated apps
1000+ 5000+
Hosting
EU / US US
Make in 2021: Key Points
Source :https://www.make.com/en/blog/integromat-2021-in-review
Plan & pricing
Comparison
Key elements :
Free :
active scenario <= 2
Scenario execution schedule > 15
min
Core :
Scenario execution schedule > 1 min
Pro :
Custom variables
Teams :
Teams and team roles
Scenario templates
Role & permissions
Role & Permissions
Make provides a two-tiered permission
model.
All users are members of at least one
organisation and one team.
The permissions that users have are
determined by the organisation role and
team role that they are assigned.
The following table describes the actions
that members of the different
organisation roles can perform.
Vocabulary
Vocabulary
NAME EXAMPLE DEFINITION
Scenario A scenario is what users create to connect different apps/services
together via their corresponding modules in order to transfer and
transform selected data.
Apps/Services An app directly refers to an application or it can refer to a service. A
service is a collective term for a source of bundles. A service may
include a web API, web page, different types of servers (FTP, SMTP,
IMAP), and etc.
Connection When adding an app/service to a scenario, most likely you will have
to first create a connection between Make and the app/service in
order to retrieve or send the selected data
Module Each application/service consists of different modules that define
how an application/service should respond to a request. There are 4
types of modules: actions, triggers, iterators and aggregators. A
scenario consists of a sequence of modules.
Vocabulary
NAME EXAMPLE DEFINITION
ID The ID is a name that is used to uniquely identify a bundle. An ID is
usually used to differentiate a bundle that needs to be updated or
removed from a given service.
Bundle A bundle is a basic unit that is returned or received by modules. A
bundle consists of items.
Items An item is a part of a bundle. Bundles can consist of multiple items.
There are several different types of items: text, number, boolean
(yes/no), date, time, buffer (binary data), collections, select menu,
array, and validation.
Vocabulary
NAME EXAMPLE DEFINITION
Trigger A trigger is a module that allows you to grab bundles that were
added or updated since the last run of a scenario. There are 2 types
of triggers: polling and instant (webhooks).
Webhook A webhook is a special type of trigger that allows you to run a
scenario immediately after a new bundle is available (webhook /
mailhook)
Router A router allows you to handle different groups of data separately,
regarding some condition and filter.
Filter Filters are additional features that can be applied between two modules.
A filter allows you to work only with packages that meet certain criteria.
There are a number of different filters you can apply.
Vocabulary
NAME EXAMPLE DEFINITION
Iterator An iterator is a type of module that allows you to take a bundle of
data (an array of data) and split it into separate bundles.
Aggregator An aggregator is a type of module that merges together multiple
bundles (multiple arrays of data) into one single bundle.
Operation An operation is a task performed by a module.
Data Transfer Data transfer refers to the amount of data transferred through your
scenario.
Cycle concept / Execution order
Make is a transactional system
01
SCENARIO EXECUTION
Initialization
02
02.1 operation (reading or writing)
Cycle #1
02.2 Commit or rollback
03
03.1 operation (reading or writing)
Cycle #2
03.2 Commit or rollback
04
04.1 operation (reading or writing)
Cycle #n
04.2 Commit or rollback
05 Finalization
In concrete terms
Example :
1 cycle = retrieve google calendar events every hour and process
3 different events need to be processed (3 bundles from the first module “Search Event”)
Iterator split each bundle into 3 pieces : each are processed within each module sequentially,
before starting over a new bundle
Be careful to the execution order
Auto-align function
helps you to get the
correct execution
order, meaning which
path will be processed
first
Interface
Global interface
Top bar
User & team management
Subscribed plan & payment
Orga. global variables
Change organization name
3d party apps
Consumption metrics
Consumption depends on 2 factors : operation number AND data
transfer.
Both metrics are reset on the subscription date anniversary
Menu bar
Team management (like business unit)
Scenario list
Pre-made template offered by Make
List active connection per module
List existing webhook (web/mail)
List keys declared in scenario
List devices attached to this team
List datastore attached to organization
List datastructure
Notification center
Help a starting point
Help & support ticket
Developed custom apps
Profile management
Scenario editor
First basic scenario
Output to another sheet
Input from google sheet
with email
without email
Scenario editor
Number of operations
Once the scenario is executed, Make displays the
number of operations performed by each module
in the white bubble on the top-right of each
module
Module right-click the module to open
the following options
Schedule settings
The schedule settings panel lets you adjust the
running schedule of your scenario
Setting up a route
Click the wrench below the route connecting two
modules to display the options
Add/remove a module
To add a module, hover over the right handle
of a module until the plus sign appears
Once you configure your
Run once scenario, click Run once to
test your scenario
TIPS : Keep in mind that you need to limit number of output either by setting up a limit into dedicated module, or by
putting a filter on the first module
Logs
The log contains information about each step and
about errors encountered during the execution of
the scenario.
Scheduling
The log contains information about each step and
about errors encountered during the execution of
the scenario.
Exit scenario
Click the left arrow in the top-left corner to close the
scenario editor and return to the scenario detail page
Scenario name
To rename a scenario, click the scenario name in the top left
corner and edit as desired
Scenario toolbar
Scenario toolbar
Save a scenario
Click here
Save a scenario
BE CAREFUL!
A scenario does not save automatically. If
you do not save the scenario and exit it, a
pop-up window appears prompting you to
save your changes.
If the module settings are not saved, an asterisk (*)
is displayed at the top of the module until you press
Cancel to abort or OK to save your changes to the
module settings.
Scenario settings
Notes
TIPS : It’s a good starting point for documentation
Auto-align
REMINDER :
Always auto-align before
saving to see the correct
execution order
Explain flow
TIPS : It’s a good starting point for documentationas well
More
CAUTION :
The restored version of the scenario is
not automatically saved. If you wish to
save the restored version of the scenario,
you have to do so manually.
Tools
Favorites
Module categories
4 module categories Triggers Search
Make’s documentation officially
differentiates 3 types of modules
(actions, triggers and search) but mainly “watch” “search”
we can divide Actions category into “get
information” and “real action” Get information Actions
“get” & “list” “create”, “update”, etc
Triggers
Scheduled
The schedule setting panel lets you adjust the
running schedule of the scenario.
By default, a scenario runs every 15 minutes, but
within this panel, you can customize the run
schedule and the interval.
Acid / Instant Retrieves values from every newly added row in the
spreadsheet. Keeping a state of what has been new on the
previous run.
The module retrieves only new rows that have not been
filled in before. The trigger will not process an overwritten
row.
The modules that support rollback (transactional modules)
are tagged with the ACID tag
The modules not tagged with this tag do not support
rollback and cannot be reverted back to their initial state in
case of an error in other modules
This module watches for changes in all the cells of a
spreadsheet. It means that when you update numerous
cells in one row, one-by-one, Make will then receive
multiple updated events.
Web/Mail hook
WEBHOOK MAILHOOK
Webhooks usually act as instant triggers. Contrary to Mailhook is an instant trigger module that can be
scheduled triggers, which periodically ask a given triggered by sending an email to the email address
service for new data to be processed, webhooks generated by this module.
execute the scenario immediately after the webhook
URL receives a request.
The maximum size of an email, including its
attachments, that you send to a mailhook is 25 MB.
Routeur
Router
The Router module allows you to branch your flow into
several routes and process the data within each route
differently.
Once a Router receives a bundle, it forwards it to each
connected route in the order the routes were attached to
the Router.
TIPS : To verify the order of the routes, you can click the
Auto-align icon, which will arrange the routes according to
the order from top to bottom.
To change the order, just remove the Router module
and re-connect the routes in the desired order.
Fallback route
When enabled, this route is used in the case when a
bundle cannot continue on from the Router via any
other route because the filters on the other routes
filtered it out.
The Fallback route is distinguished with a different
arrow sign inside the Router module
Create first scenario
Bundle
Bundles
Key:Values pairs
Collection & Arrays
(objects)
First basic scenario
Output to another sheet
Input from google sheet
with email
without email
Scenario execution history
Filter
Functions
Basic functions
When mapping items, you can use functions to create complex formulas. The functions
available in Make are similar to functions in Excel or those in other programming languages.
The functions let you perform various transformations of item values, such as converting a
text to uppercase, trimming a text, converting a date into a different format, and many
others.
What to do before building an
automation?
Beforehand
More often, starting with a description of
process flow per platform before
creating the real scenario allows us:
- To clarify customer needs
- To draw some specification
- To build faster
Airtable
AIRTABLE
An online organization and collaboration tool built on a relational
database model. Its strength lies in the predefined views that allow you
to choose how information is displayed without disturbing the
underlying data.
Long story short: Categorized as a "no-code" tool, Airtable allows you
to:
- Structure all data
- Manage them in a more intuitive way with pre-built views
- Automate processing
- Interact with other platforms through the API
AIRTABLE - why using it?
Why using it during this course?
- Free to use (until 1200 records per database)
- Native module on Make
- Key benefits of using Airtable for automation:
- Data manipulation concept is based on “ID”
- Button available to trigger webhook on-demand
Here is what a
- Field type are already categorised (url,email, Airtable recordID
looks like
button, attachment, date)
AIRTABLE - How to deal with API key?
In order to grant Make
for Airtable access,
use “Airtable OAuth”.
Either select a
dedicated base to
interact with (more
secure) or give
permission to the
whole workspace (less
secure)
AIRTABLE - Module requirement detail
MODULE REQUIREMENT EXAMPLE
A new Airtable field must
Watch Records
be created (either type
Returns all newly created
=Created Time or Last
or updated records in a
Modified Time) for Make to
view
trigger a scenario launch.
In this formula field, you
must follow Airtable syntax,
not Make syntax.
Example showing how to
Search Records
filter an Airtable field
Searches for specific
named “Email” with a
records or returns all
dynamic Make variable
records
Don’t forget to consult
Airtable’s website link for
the correct syntax
AIRTABLE - Module requirement detail
MODULE REQUIREMENT EXAMPLE
Get can only work with a
Get Records dedicated Airtable record
Retrieves a single record by its ID provided by previous
ID Make module
Update can only work with
a dedicated Airtable record
Update Records ID provided by previous
Updates a record by its ID
Make module