make

$npx mdskill add vm0-ai/vm0-skills/make

Automate workflows by connecting Make (Integromat) APIs.

  • Executes complex automation tasks and workflow management.
  • Depends on Make (Integromat) API and requires MAKE_TOKEN.
  • Selects actions based on user requests mentioning automation.
  • Returns structured JSON data via curl commands.

SKILL.md

.github/skills/makeView on GitHub ↗
---
name: make
description: Make (Integromat) API for automation. Use when user mentions "Make",
  "Integromat", "automation", or workflow building.
---

## Troubleshooting

If requests fail, run `zero doctor check-connector --env-name MAKE_TOKEN` or `zero doctor check-connector --url https://eu1.make.com/api/v2/users/me --method GET`

## How to Use

All examples below assume you have `MAKE_TOKEN` set. Authentication uses `Token` scheme in the Authorization header.

### 1. Get Current User Info

Retrieve information about the authenticated user.

```bash
curl -s "https://eu1.make.com/api/v2/users/me" --header "Authorization: Token $MAKE_TOKEN" | jq .
```

### 2. List Organizations

Retrieve all organizations the user belongs to.

```bash
curl -s "https://eu1.make.com/api/v2/organizations" --header "Authorization: Token $MAKE_TOKEN" | jq '.organizations'
```

### 3. List Teams

Get all teams in an organization. Replace `ORG_ID` with the organization ID.

```bash
curl -s "https://eu1.make.com/api/v2/organizations/ORG_ID/teams" --header "Authorization: Token $MAKE_TOKEN" | jq '.teams'
```

### 4. List Scenarios

Retrieve all scenarios for a team. Replace `TEAM_ID` with the team ID.

```bash
curl -s "https://eu1.make.com/api/v2/scenarios?teamId=TEAM_ID" --header "Authorization: Token $MAKE_TOKEN" | jq '.scenarios[] | {id, name, isEnabled, scheduling}'
```

Paginate with `pg[offset]` and `pg[limit]`:

```bash
curl -s "https://eu1.make.com/api/v2/scenarios?teamId=TEAM_ID&pg%5Boffset%5D=0&pg%5Blimit%5D=20" --header "Authorization: Token $MAKE_TOKEN" | jq '.scenarios[] | {id, name}'
```

### 5. Get Scenario Details

Retrieve details of a specific scenario. Replace `SCENARIO_ID` with the scenario ID.

```bash
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Authorization: Token $MAKE_TOKEN" | jq '.scenario'
```

### 6. Create a Scenario

Create a new scenario in a team.

Write to `/tmp/make_request.json`:

```json
{
  "teamId": 123,
  "name": "My New Scenario",
  "blueprint": "{\"name\":\"My New Scenario\",\"flow\":[],\"metadata\":{\"version\":1}}"
}
```

Then run:

```bash
curl -s -X POST "https://eu1.make.com/api/v2/scenarios" --header "Content-Type: application/json" --header "Authorization: Token $MAKE_TOKEN" -d @/tmp/make_request.json | jq .
```

### 7. Update a Scenario

Update scenario properties (name, scheduling, etc.).

Write to `/tmp/make_request.json`:

```json
{
  "name": "Updated Scenario Name"
}
```

Then run:

```bash
curl -s -X PATCH "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Content-Type: application/json" --header "Authorization: Token $MAKE_TOKEN" -d @/tmp/make_request.json | jq .
```

### 8. Start a Scenario

Activate a scenario so it runs on its schedule.

```bash
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/start" --header "Authorization: Token $MAKE_TOKEN" | jq .
```

### 9. Stop a Scenario

Deactivate a running scenario.

```bash
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/stop" --header "Authorization: Token $MAKE_TOKEN" | jq .
```

### 10. Run a Scenario On Demand

Execute a scenario immediately. The scenario must be active.

```bash
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/run" --header "Content-Type: application/json" --header "Authorization: Token $MAKE_TOKEN" -d '{}' | jq .
```

Run with input data:

Write to `/tmp/make_request.json`:

```json
{
  "data": {
    "key1": "value1",
    "key2": "value2"
  }
}
```

Then run:

```bash
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/run" --header "Content-Type: application/json" --header "Authorization: Token $MAKE_TOKEN" -d @/tmp/make_request.json | jq .
```

### 11. Clone a Scenario

Duplicate an existing scenario.

Write to `/tmp/make_request.json`:

```json
{
  "name": "Cloned Scenario",
  "teamId": 123
}
```

Then run:

```bash
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/clone" --header "Content-Type: application/json" --header "Authorization: Token $MAKE_TOKEN" -d @/tmp/make_request.json | jq .
```

### 12. Delete a Scenario

Remove a scenario permanently.

```bash
curl -s -X DELETE "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Authorization: Token $MAKE_TOKEN" | jq .
```

### 13. Get Scenario Usage

Retrieve 30-day usage analytics (operations, data transfer, centicredits).

```bash
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/usage" --header "Authorization: Token $MAKE_TOKEN" | jq .
```

### 14. Get Scenario Logs

Retrieve execution logs for a scenario.

```bash
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/logs" --header "Authorization: Token $MAKE_TOKEN" | jq '.scenarioLogs[] | {id, status, duration, operations}'
```

### 15. List Connections

Retrieve all connections for a team.

```bash
curl -s "https://eu1.make.com/api/v2/connections?teamId=TEAM_ID" --header "Authorization: Token $MAKE_TOKEN" | jq '.connections[] | {id, name, accountName, accountType}'
```

### 16. List Webhooks (Hooks)

Get all webhooks for a team.

```bash
curl -s "https://eu1.make.com/api/v2/hooks?teamId=TEAM_ID" --header "Authorization: Token $MAKE_TOKEN" | jq '.hooks[] | {id, name, url, enabled}'
```

### 17. List Data Stores

Get all data stores for a team.

```bash
curl -s "https://eu1.make.com/api/v2/data-stores?teamId=TEAM_ID" --header "Authorization: Token $MAKE_TOKEN" | jq '.dataStores[] | {id, name, records, size}'
```

### 18. Get Data Store Records

Retrieve records from a data store.

```bash
curl -s "https://eu1.make.com/api/v2/data-stores/DATASTORE_ID/data" --header "Authorization: Token $MAKE_TOKEN" | jq '.records'
```

### 19. Create Data Store Record

Add a record to a data store.

Write to `/tmp/make_request.json`:

```json
{
  "key": "record-key-1",
  "data": {
    "field1": "value1",
    "field2": "value2"
  }
}
```

Then run:

```bash
curl -s -X POST "https://eu1.make.com/api/v2/data-stores/DATASTORE_ID/data" --header "Content-Type: application/json" --header "Authorization: Token $MAKE_TOKEN" -d @/tmp/make_request.json | jq .
```

### 20. List Scenario Folders

Get all scenario folders for a team.

```bash
curl -s "https://eu1.make.com/api/v2/scenarios-folders?teamId=TEAM_ID" --header "Authorization: Token $MAKE_TOKEN" | jq '.scenariosFolders[] | {id, name}'
```

## Guidelines

1. **Zone selection**: Always use the correct zone base URL matching your Make account. Check your dashboard URL to determine your zone (eu1, eu2, us1, or us2)
2. **Token scopes**: API tokens require specific scopes. Ensure your token has the necessary scopes for the endpoints you use
3. **Pagination**: Use `pg[offset]` and `pg[limit]` query parameters for paginated endpoints. URL-encode brackets as `%5B` and `%5D`
4. **Column selection**: Use `cols[]` parameter to request only specific fields in responses
5. **Team context**: Most resources belong to a team. Include `teamId` in queries to scope results
6. **Scenario activation**: Scenarios must be active (started) before they can be run on demand
7. **Blueprint format**: When creating scenarios, the blueprint is passed as a JSON string (stringified JSON within JSON)
8. **Rate limits**: Make enforces API rate limits. Implement backoff if you receive HTTP 429 responses

More from vm0-ai/vm0-skills

SkillDescription
account-reconciliationPerform account reconciliations comparing general ledger balances against subledgers, bank statements, or external records. Use for bank reconciliation, GL-to-subledger reconciliation, intercompany reconciliation, balance sheet reconciliation, reconciling item analysis, outstanding item aging, or clearing open items.
agentphoneBuild AI phone agents with AgentPhone API. Use when the user wants to make phone calls, send/receive SMS, manage phone numbers, create voice agents, set up webhooks, or check usage — anything related to telephony, phone numbers, or voice AI.
ahrefsAhrefs SEO API for backlink and keyword analysis. Use when user mentions
amplitudeAmplitude product analytics API. Use when user mentions "Amplitude",
analysis-qaQuality-check a data analysis before sharing — verify joins, aggregations, denominators, time ranges, and metric definitions. Detect pitfalls like survivorship bias, average-of-averages, join explosion, timezone mismatches, incomplete periods, and selection bias. Includes documentation templates for reproducible analyses.
anthropic-managed-agentsAnthropic Managed Agents API for programmatically creating, running, and streaming AI agents on Anthropic's cloud infrastructure. Use when the user mentions "Managed Agents", "Anthropic agent sessions", or needs to create/run/stream an Anthropic agent with tool use (bash, git, web), attach GitHub repositories, or inject secrets via Vault. Do NOT use for standard Claude Messages API — use the Claude API skill instead.
apifyApify web scraping platform. Use when user mentions "scrape website",
asanaAsana API for tasks and projects. Use when user mentions "Asana", "asana.com",
atlassianAtlassian API for Confluence and Jira. Use when user mentions "Confluence
attioAttio REST API for AI-native CRM operations — manage companies, people, deals, and custom objects, plus notes, tasks, lists, and comments. Use when the user mentions "Attio", "CRM record", "create company", "add person", "list entry", "CRM note", or "CRM task".