Agent skill
make
Make (Integromat) API for automation. Use when user mentions "Make", "Integromat", "automation", or workflow building.
Install this agent skill to your Project
npx add-skill https://github.com/vm0-ai/vm0-skills/tree/main/make
SKILL.md
Make API
Use the Make API via direct curl calls to manage scenarios, organizations, teams, connections, data stores, and webhooks on the Make automation platform.
Official docs:
https://developers.make.com/api-documentation
When to Use
Use this skill when you need to:
- List, create, run, and manage automation scenarios
- Control scenario execution (start, stop, run on demand, replay)
- Manage organizations and teams including users and roles
- Configure connections and webhooks for integrations
- Work with data stores for persistent data across scenarios
Prerequisites
- Log in to your Make account
- Go to your profile icon > Profile > API Access
- Click Add token, enter a name, and select the required scopes
- Copy the generated API token
export MAKE_TOKEN="your-api-token"
API Base URLs
Your base URL depends on your Make zone. Check your Make dashboard URL to determine your zone.
| Zone | Base URL |
|---|---|
| EU1 | https://eu1.make.com/api/v2 |
| EU2 | https://eu2.make.com/api/v2 |
| US1 | https://us1.make.com/api/v2 |
| US2 | https://us2.make.com/api/v2 |
All examples below use https://eu1.make.com/api/v2. Replace with your zone URL as needed.
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.
curl -s "https://eu1.make.com/api/v2/users/me" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
2. List Organizations
Retrieve all organizations the user belongs to.
curl -s "https://eu1.make.com/api/v2/organizations" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.organizations'
3. List Teams
Get all teams in an organization. Replace ORG_ID with the organization ID.
curl -s "https://eu1.make.com/api/v2/organizations/ORG_ID/teams" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.teams'
4. List Scenarios
Retrieve all scenarios for a team. Replace TEAM_ID with the team ID.
curl -s "https://eu1.make.com/api/v2/scenarios?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenarios[] | {id, name, isEnabled, scheduling}'
Paginate with pg[offset] and pg[limit]:
curl -s "https://eu1.make.com/api/v2/scenarios?teamId=TEAM_ID&pg%5Boffset%5D=0&pg%5Blimit%5D=20" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenarios[] | {id, name}'
5. Get Scenario Details
Retrieve details of a specific scenario. Replace SCENARIO_ID with the scenario ID.
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenario'
6. Create a Scenario
Create a new scenario in a team.
Write to /tmp/make_request.json:
{
"teamId": 123,
"name": "My New Scenario",
"blueprint": "{\"name\":\"My New Scenario\",\"flow\":[],\"metadata\":{\"version\":1}}"
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/scenarios" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
7. Update a Scenario
Update scenario properties (name, scheduling, etc.).
Write to /tmp/make_request.json:
{
"name": "Updated Scenario Name"
}
Then run:
curl -s -X PATCH "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
8. Start a Scenario
Activate a scenario so it runs on its schedule.
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/start" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
9. Stop a Scenario
Deactivate a running scenario.
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/stop" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
10. Run a Scenario On Demand
Execute a scenario immediately. The scenario must be active.
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/run" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d '{}' | jq .
Run with input data:
Write to /tmp/make_request.json:
{
"data": {
"key1": "value1",
"key2": "value2"
}
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/run" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
11. Clone a Scenario
Duplicate an existing scenario.
Write to /tmp/make_request.json:
{
"name": "Cloned Scenario",
"teamId": 123
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/clone" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
12. Delete a Scenario
Remove a scenario permanently.
curl -s -X DELETE "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
13. Get Scenario Usage
Retrieve 30-day usage analytics (operations, data transfer, centicredits).
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/usage" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq .
14. Get Scenario Logs
Retrieve execution logs for a scenario.
curl -s "https://eu1.make.com/api/v2/scenarios/SCENARIO_ID/logs" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenarioLogs[] | {id, status, duration, operations}'
15. List Connections
Retrieve all connections for a team.
curl -s "https://eu1.make.com/api/v2/connections?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.connections[] | {id, name, accountName, accountType}'
16. List Webhooks (Hooks)
Get all webhooks for a team.
curl -s "https://eu1.make.com/api/v2/hooks?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.hooks[] | {id, name, url, enabled}'
17. List Data Stores
Get all data stores for a team.
curl -s "https://eu1.make.com/api/v2/data-stores?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.dataStores[] | {id, name, records, size}'
18. Get Data Store Records
Retrieve records from a data store.
curl -s "https://eu1.make.com/api/v2/data-stores/DATASTORE_ID/data" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.records'
19. Create Data Store Record
Add a record to a data store.
Write to /tmp/make_request.json:
{
"key": "record-key-1",
"data": {
"field1": "value1",
"field2": "value2"
}
}
Then run:
curl -s -X POST "https://eu1.make.com/api/v2/data-stores/DATASTORE_ID/data" --header "Content-Type: application/json" --header "Authorization: Token $(printenv MAKE_TOKEN)" -d @/tmp/make_request.json | jq .
20. List Scenario Folders
Get all scenario folders for a team.
curl -s "https://eu1.make.com/api/v2/scenarios-folders?teamId=TEAM_ID" --header "Authorization: Token $(printenv MAKE_TOKEN)" | jq '.scenariosFolders[] | {id, name}'
Guidelines
- 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)
- Token scopes: API tokens require specific scopes. Ensure your token has the necessary scopes for the endpoints you use
- Pagination: Use
pg[offset]andpg[limit]query parameters for paginated endpoints. URL-encode brackets as%5Band%5D - Column selection: Use
cols[]parameter to request only specific fields in responses - Team context: Most resources belong to a team. Include
teamIdin queries to scope results - Scenario activation: Scenarios must be active (started) before they can be run on demand
- Blueprint format: When creating scenarios, the blueprint is passed as a JSON string (stringified JSON within JSON)
- Rate limits: Make enforces API rate limits. Implement backoff if you receive HTTP 429 responses
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
brave-search
Brave Search API for web search. Use when user says "search web", "Brave search", or asks to "find on web" without specifying Google.
supadata
Supadata API for YouTube/web data. Use when user mentions "Supadata", "YouTube data", "channel stats", or web scraping data.
roadmap-planning
Build and prioritize product roadmaps using scoring models like RICE, ICE, and value-effort matrices. Activate when creating a product roadmap, prioritizing features, sequencing initiatives, mapping dependencies, balancing team capacity, choosing between Now/Next/Later or quarterly planning, or communicating roadmap tradeoffs to executives and stakeholders.
qdrant
Qdrant API for vector search. Use when user mentions "Qdrant", "vector database", "semantic search", or embeddings storage.
calendly
Calendly scheduling API. Use when user mentions "Calendly", "calendly.com", "schedule a meeting", "booking link", "event types", or asks about interview scheduling.
stripe
Stripe API for payments. Use when user mentions "Stripe", "payment", "subscription", "billing", "invoice", or asks about payment processing.
Didn't find tool you were looking for?