LogoLogo
Get support
  • Home
  • Make API
  • Make Bridge
  • White Label
  • MCP Server
  • Custom Apps Documentation
  • How to read the documentation
  • Make Apps Editor
    • Develop apps in Make UI
    • Develop apps in VS Code
      • Generate your API key
      • Configure VS Code
      • Create an app in VS Code
      • Set the app's icon in VS Code
      • Use general controls
      • Manage testing and production app versions
      • Develop apps collaboratively
      • Write IML tests
      • Local development for Apps
        • Clone Make app to local workspace
        • Develop app in a local workspace (offline)
        • Commit the changes in Git repository
        • Deploy changes from local app to Make app
        • Pull changes from Make app
        • Create a new app origin
        • Compare changes between local and Make app
  • Create your first app
    • Create your app
    • App's environment
    • Base
    • Module
    • Connection
    • Error handling
  • Debugging your app
    • Debugging of pagination in list/search modules
    • Debugging RPC
    • Debugging of Custom IML Functions
      • Debug IML in Web Browser
      • Debug IML in VS Code
  • Make DevTool
    • Live Stream
    • Scenario Debugger
    • Tools
  • Best practices
    • Names, labels & descriptions
    • Base
    • Connections
    • Modules
    • Action and search modules
    • Action modules
    • Search modules
    • Update modules
    • Trigger modules
    • Remote Procedure Calls
    • Static parameters
    • Mappable parameters
    • Processing of input parameters
    • Processing of output parameters
    • Groups
  • Useful resources
  • App logo
  • App visibility
  • App review
    • App review prerequisites
    • Request app review
    • Review status
    • Approved app
  • Terms of approved app maintenance
  • Updating your app
    • Private/Public apps
    • Approved apps
      • Tracking code changes
      • Approval of changes in approved app
      • Managing breaking changes
  • App structure
    • Base
      • Base URL
      • Authorization
      • Error handling
      • Sanitization
      • Advanced inheritance
    • Connections
      • Basic connection
      • JWT
      • OAuth 1.0
      • OAuth 2.0
    • Webhooks
      • Shared
      • Dedicated
        • Attached
        • Not attached
    • Modules
      • Action
        • Module Actions
        • Components
      • Search
      • Trigger (polling)
      • Instant Trigger (webhook)
      • Universal Module
        • REST
        • GraphQL
      • Responder
    • Remote Procedure Calls
      • Components
      • Types of RPCs
        • Dynamic Options RPC
        • Dynamic Fields RPC
        • Dynamic Sample RPC
      • Available IML Variables
    • Custom IML functions
      • Dynamic mappable parameters
      • Handling of full update approach in update modules
      • Removal of empty collections and nulls
    • Groups
  • App blocks
    • Communication
      • Making Requests
      • Multiple Requests
      • Handling Responses
        • Type
        • Valid
        • Error
        • Limit
        • Iterate
        • Temp
        • Output
      • Pagination
      • IML Variables
      • Request-less Communication
      • Multipart/form-data
      • Buffer
    • Static parameters
    • Mappable parameters
    • Interface
    • Epoch
    • Samples
    • Scope
    • Scope List
  • App components
    • Data Types
    • Parameters
      • Array
      • Boolean
      • Buffer
      • Cert
      • Collection
      • Color
      • Date
      • Email
      • Filename
      • Folder, File
      • Filter
      • Hidden
      • Integer, Uinteger
      • Number
      • Password
      • Path
      • Pkey
      • Port
      • Select
      • Text
      • Time
      • Timestamp
      • Timezone
      • URL
      • UUID
    • JavaScript in Make
  • Other
    • Processing of 'empty' Values
    • Processing of JSON strings inside a JSON object
  • Apps Marketplace Beta
    • About
    • How does it work
    • Terms and conditions
    • Tips and tricks
      • Control of access in apps using basic connection
Powered by GitBook

Resources

  • Academy
  • Community
  • Help Center

Useful links

  • Support
  • Privacy Notice
  • Status Page
  • make.com

Follow us

  • LinkedIn
  • X (Twitter)
  • Facebook
  • Instagram

© 2025 make.com

On this page
  • Components
  • Communication
  • Parameters
  • Common Data
  • Available IML variables
  • Example
Export as PDF
  1. App structure
  2. Connections

Basic connection

Connection is a link between Make and 3rd party service/app.

PreviousConnectionsNextJWT

Last updated 4 months ago

Basic type of connection is a group of connections, which can use:

  • API Key,

  • Basic Auth (a pair of username and password base64 encoded),

  • Digest Auth (a pair of credentials md5 hashed).

Basic Connection can also be used, when API doesn't support OAuth 1/2.

Components

  • aws directive is not available

  • Only a single request can be performed

  • pagination directive is not available

  • response.limit is not available

  • response.iterate directive is not available

  • response.output is not available

  • response is extended with data , uid and metadata

response.data

The data directive saves data to the connection so that it can be later accessed from a module through the connection variable. It functions similarly to the temp directive, except that data is persisted in the connection.

Example:

{
    "response": {
        "data": {
            "accessToken": "{{body.token}}"
        }
    }
}

This accessToken can be later accessed in any module that uses this connection like so:

{
    "url": "http://example.com",
    "qs": {
        "token": "{{connection.accessToken}}"
    }
}

response.metadata

The metadata directive allows you to save the user’s name or username (or any other text field) so that multiple connections of the same type could 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.

Example:

...
"response": {
	"metadata": {
            "type": "email",
            "value": "{{body.data.user.email}}"
        }
	},
...

response.uid

Example:

{
    "response": {
        "uid": "{{body.data.id}}"
    }
}

Parameters that the user should fill while creating a new connection.

Non-user-specific sensitive values like salts or 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 connection’s common data collection.

  • data - Contains connection's data collection.

  • oauth.scope - Contains an array of scope required to be passed to OAuth 2.0 authorization process.

  • oauth.redirectUri - Contains redirect URL for OAuth 2.0 authorization process.

Example

Here you can see an example of API key-based connection.

{
	"url": "https://sample.com/api/v1",
	"method": "GET",
	"headers": {
		"authorization": "Basic {{base64(parameters.apiKey + ':' + connection.domain)}}"
	},
	"response": {
		"error": {
			"type": "{{body.code}}",
			"message": "{{body.message}}"
		},
		"valid": "{{if(body.code, false, true)}}"
	},
	"log": {
		"sanitize": ["request.headers.authorization"]
	}
}

This directive allows you to save the user’s remote service Id. This is required when using .

Communication
Communication
Shared Webhooks
Parameters
Parameters
Connections
Common Data
Example of connection's name