> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Make plugin

> Manage and run Make automation scenarios.

Use **Make** through Corsair: one client, typed API calls.

Each Make organization lives in one zone (eu1, eu2, us1, us2, celonis-eu1, celonis-us1), so each connected account stores its zone (the `zone` field) next to its API token; the `zone` plugin option overrides it for single-account setups. The token needs the scopes for the operations you call. Scenario runs and replays can trigger external actions and consume credits. The client does not retry failed requests automatically, including quota-related 429 responses. Buildtime variables are not available on Make's free plan, which answers those calls with 403 (SC403).

**What you get:**

* 24 typed API operations

## Setup

**1. Install**

```bash npm theme={null}
npm install corsair @corsair-dev/make better-sqlite3
npm install --save-dev @types/better-sqlite3
```

```bash yarn theme={null}
yarn add corsair @corsair-dev/make better-sqlite3
yarn add --dev @types/better-sqlite3
```

```bash pnpm theme={null}
pnpm install corsair @corsair-dev/make better-sqlite3
pnpm install --save-dev @types/better-sqlite3
```

```bash bun theme={null}
bun add corsair @corsair-dev/make better-sqlite3
bun add --dev @types/better-sqlite3
```

**2. Add the plugin**

```ts corsair.ts theme={null}
import Database from 'better-sqlite3';
import { createCorsair } from 'corsair';
import { make } from '@corsair-dev/make';

export const corsair = createCorsair({
	plugins: [
		make({
			zone: 'eu1',
		}),
	],
	database: new Database('corsair.db'),
	kek: process.env.CORSAIR_KEK!,
	multiTenancy: true,
	hub: {
		projectApiKey: process.env.CORSAIR_API_KEY!,
		signingSecret: process.env.CORSAIR_SIGNING_SECRET!,
	},
});
```

With `multiTenancy: true`, scope calls with `corsair.withTenant(id)`. See [Quick start](https://docs.corsair.dev/quick-start.md) for KEK + Hub keys, and [Multi-tenancy](https://docs.corsair.dev/concepts/multi-tenancy.md) for account isolation.

**3. Choose authentication**

> [tab] API Key (Recommended)
>
> Store the Make API key before the first call: `pnpm corsair setup --plugin=make --tenant=acme api_key=<your-key>` (leave out `--tenant` without `multiTenancy`), or pass it as `key` in the plugin options. With Hub, each tenant enters their own key on the connect page. See [API key auth](https://docs.corsair.dev/concepts/api-key).
>
> Each connected account stores its Make zone (the `zone` field, for example `eu1`, the subdomain of the Make URL you sign in at) next to its API token: `pnpm corsair setup --plugin=make --tenant=acme zone=eu1`, or the connect page with Hub. Set the `zone` option only for a single-account setup; it overrides the stored value.
>
> ```ts theme={null}
> make({
> 	zone: 'eu1',
> })
> ```
>
> More: [API Key](https://docs.corsair.dev/concepts/api-key)

**4. Connect a tenant**

Mint a connect link and send the tenant to it. Hub hosts the page and delivers the result to your app — see [Connect / OAuth](https://docs.corsair.dev/management/connect).

```ts theme={null}
const { connectUrl } = await corsair.manage.connect.createLink({
	plugin: 'make',
	tenantId: 'acme',
});
// redirect the user's browser to connectUrl
```

## Example API calls

**List scenarios for a team**

```ts theme={null}
const tenant = corsair.withTenant('acme');
await tenant.make.api.scenarios.list({ teamId: 123 });
```

**Rename a scenario**

```ts theme={null}
const tenant = corsair.withTenant('acme');
await tenant.make.api.scenarios.update({
	scenarioId: 123,
	body: { name: 'Updated scenario' },
});
```

See the full list on the [API](https://docs.corsair.dev/plugins/make/api.md) page.

## What's next

> [card] [API reference](https://docs.corsair.dev/plugins/make/api.md)
>
> Every `make.api.*` operation with input and output types.

> [card] [Connect / OAuth](https://docs.corsair.dev/management/connect)
>
> createLink, Hub delivery, and tenant connect flows.

> [card] [Use with agents](https://docs.corsair.dev/mcp-adapters/mcp-adapters)
>
> Expose this plugin's operations as MCP tools.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.