Basic connection
Connection is a link between Make and a third-party service or app.
Basic connections include different authentication methods that don't need any token exchange mechanism. The most common case is API keys, where you send the key with the request to the endpoint you want to use. Types of authentication supported by basic connections include:
API key (or similar single-token auth types)
Basic Auth (a username and password pair encoded with
base64), for example:"{{base64('user:pass')}}"Digest Auth (a pair of credentials hashed with
md5)
Components
Communication
For more information, see the communication documentation.
awsdirective is not availableOnly a single request can be performed
paginationdirective is not availableresponse.limitis not availableresponse.iteratedirective is not availableresponse.outputis not availableresponseis extended withdata,uidandmetadata
response.data
The data directive saves data to the connection so it can be accessed later from a module through the connection variable. It functions similarly to the temp directive, except that data is persisted in the connection.
{
"response": {
"data": {
"accessToken": "{{body.token}}"
}
}
}{
"url": "http://example.com",
"headers": {
"X-API-Key": "{{connection.accessToken}}"
}
}response.metadata
The metadata directive allows you to save the user’s name or username (or any other text field) so multiple connections of the same type can be easily recognized. A common practice is to save either username or email or full name to metadata.
The metadata object has 2 properties: value and type. value is used to store the value and type is used to specify what the value is. Currently, there are only 2 types: email and text.

...
"response": {
"metadata": {
"type": "email",
"value": "{{body.data.user.email}}"
}
},
...response.uid
The response.uid directive allows you to save the user’s remote service ID. This is required when using shared webhooks.
{
"response": {
"uid": "{{body.data.id}}"
}
}Parameters
Parameters the user needs to provide when setting up a new connection.
Common data
Non-user-specific sensitive values like secrets.
Available IML variables
These IML variables are available for you to use everywhere in this module:
now
Current date and time
environment
TBD
temp
Contains custom variables created via temp directive.
parameters
Contains the connection’s input parameters.
common
Contains the connection’s common data collection.
data
Contains the connection's data collection.
API key-based connection example
[
{
"name": "apiKey",
"type": "password",
"label": "API key",
"advanced": true,
"editable": true
}
]{
"url": "https://example.com/api/v1/info",
"method": "GET",
"headers": {
"X-API-Key": "{{parameters.apiKey}}"
},
"response": {
"valid": "{{!body.error && statusCode === 200}}",
"error": {
"message": "[{{statusCode}}] {{body.error}}"
},
"metadata": {
"type": "email",
"value": "{{body.user.email}}"
}
},
"log": {
"sanitize": ["request.headers.`X-API-Key`"]
}
}Basic Auth connection example
[
{
"name": "username",
"type": "text",
"label": "Username",
"advanced": true,
"editable": true
},
{
"name": "password",
"type": "password",
"label": "Password",
"advanced": true,
"editable": true
}
]{
"url": "https://example.com/api/v1/info",
"method": "GET",
"headers": {
"authorization": "Basic {{base64(parameters.username + ':' + parameters.password)}}"
},
"response": {
"valid": "{{!body.error && statusCode === 200}}",
"error": {
"message": "[{{statusCode}}] {{body.error}}"
},
"metadata": {
"type": "email",
"value": "{{body.user.email}}"
}
},
"log": {
"sanitize": ["request.headers.authorization"]
}
}Last updated

