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

# Make.com

> Connect Autype to Make.com for automated document generation

<Card title="Add Autype to Make.com" icon="plus" href="https://www.make.com/en/hq/app-invitation/827c4f66f5effac0dda8407ff633cc54">
  Click here to add the Autype app to your Make.com account
</Card>

<Info>
  **Variable syntax:** Make.com uses `{{...}}` for its own template variables, which conflicts with Autype's default variable syntax. When building Make.com scenarios, use the alternative **`${varName}`** syntax for Autype variable placeholders instead. The API automatically converts `${...}` to `{{...}}` internally. This applies to all API input — document JSON, Markdown content, and bulk render items.
</Info>

## Overview

The Autype Make.com integration lets you generate documents, render PDFs, and manage content directly from Make.com scenarios — no code required. Connect Autype to thousands of apps and automate your document workflows.

## Prerequisites

* An Autype account with an API key ([Dashboard → Settings → API Keys](https://app.autype.com))
* A [Make.com](https://www.make.com) account

## What you can do

With the Autype integration for Make.com, you can:

* **Render documents** from JSON or Extended Markdown to PDF, DOCX, or ODT
* **Bulk render** documents with variable data from spreadsheets, CRMs, or databases
* **Manage projects and documents** — create, list, and retrieve documents
* **Upload images** for use in documents
* **PDF tools** — merge, split, rotate, watermark, compress, and more

## Using variables in Make.com

Since Make.com reserves the `{{...}}` syntax for its own data mapping, Autype accepts `${...}` as an alternative on all API inputs.

### Example: Document JSON in Make.com

Instead of:

```json theme={null}
{
  "sections": [{
    "type": "flow",
    "content": [
      { "type": "h1", "text": "Invoice for {{companyName}}" },
      { "type": "text", "text": "Date: {{invoiceDate}}" }
    ]
  }]
}
```

Use this in Make.com:

```json theme={null}
{
  "sections": [{
    "type": "flow",
    "content": [
      { "type": "h1", "text": "Invoice for ${companyName}" },
      { "type": "text", "text": "Date: ${invoiceDate}" }
    ]
  }]
}
```

Both forms are equivalent. The API normalizes `${...}` to `{{...}}` before processing.

### Example: Markdown content in Make.com

```markdown theme={null}
# Invoice for ${companyName}

Date: ${invoiceDate}

## Items

| Item | Amount |
|------|--------|
| Service A | ${amount} |
```

### Mixing Make.com variables and Autype variables

You can freely combine Make.com's data mapping with Autype's `${...}` variable placeholders:

```json theme={null}
{
  "variables": {
    "companyName": "{{1.companyName}}",
    "invoiceDate": "{{1.date}}"
  },
  "sections": [{
    "type": "flow",
    "content": [
      { "type": "h1", "text": "Invoice for ${companyName}" },
      { "type": "text", "text": "Date: ${invoiceDate}" }
    ]
  }]
}
```

In this example:

* `{{1.companyName}}` is a **Make.com** expression that maps data from a previous module
* `${companyName}` is an **Autype** variable placeholder that gets substituted during rendering

<Note>
  The `${...}` syntax is only for **input**. If you retrieve document content from the API (e.g., via the Get Document module), variable placeholders will always be returned as `{{...}}`.
</Note>

## Built-in variables

The following Autype variables are always available and work with both syntaxes:

| `${...}` syntax      | `{{...}}` equivalent  | Description                     |
| -------------------- | --------------------- | ------------------------------- |
| `${pageNumber}`      | `{{pageNumber}}`      | Current page number             |
| `${totalPages}`      | `{{totalPages}}`      | Total number of pages           |
| `${date}`            | `{{date}}`            | Current date (DD.MM.YYYY)       |
| `${date/YYYY-MM-DD}` | `{{date/YYYY-MM-DD}}` | Current date with custom format |

## Getting started

<Steps>
  <Step title="Create an API key">
    Go to the [Autype Dashboard](https://app.autype.com) and navigate to **Settings → API Keys**. Create a new key — it will start with `ak_...`.
  </Step>

  <Step title="Add the Autype app in Make.com">
    Open the [Autype app invitation link](https://www.make.com/en/hq/app-invitation/827c4f66f5effac0dda8407ff633cc54) to add Autype to your Make.com account. Then, in your scenario, click **+** to add a module and search for **Autype**.
  </Step>

  <Step title="Connect your account">
    When prompted, paste your API key. The connection is verified automatically.
  </Step>

  <Step title="Build your scenario">
    Choose a module (e.g. **Render Document from JSON**) and configure it. Run the scenario to generate your first document.
  </Step>
</Steps>

<Warning>
  API keys are scoped to your organization. Keep them secret — never share them or expose them in public scenarios.
</Warning>

## Available modules

The Autype integration provides **41 modules** across 9 groups. Each module is an action that you can add to your Make.com scenario.

### Rendering

| Module                            | Description                                                                                                                                                                         |
| --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Render Document from JSON**     | Submit a complete document as structured JSON and render it to PDF, DOCX, or ODT. The module waits for completion and returns the download URL.                                     |
| **Render Document from Markdown** | Submit content as Extended Markdown and render it to PDF, DOCX, or ODT. Supports page size, orientation, margins, variables, defaults, abbreviations, citations, and style options. |
| **Render a Persistent Document**  | Render an existing document from your Autype workspace by its ID. Optionally override variables and output format.                                                                  |
| **Get Render Job Status**         | Check the current status of a render job by job ID.                                                                                                                                 |
| **Download Render Output**        | Download the rendered document file as binary data.                                                                                                                                 |
| **List Render Jobs**              | List all render jobs for your organization with pagination.                                                                                                                         |

### Bulk Rendering

| Module                          | Description                                                                                                                    |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
| **Bulk Render from JSON**       | Create up to 100 documents at once by providing a document ID and an array of variable sets. Each item generates one document. |
| **Bulk Render from File**       | Create a bulk render job by uploading a CSV, Excel, or JSON file with variable data. Each row/item generates one document.     |
| **Get Bulk Render Status**      | Check the current status of a bulk render job.                                                                                 |
| **Download Bulk Render Output** | Download the bulk render output as a ZIP file containing all generated documents.                                              |

### Documents

| Module                     | Description                                                                               |
| -------------------------- | ----------------------------------------------------------------------------------------- |
| **List Documents**         | List all documents in your organization, optionally filtered by project.                  |
| **Get a Document**         | Retrieve a document by ID including its latest content (JSON snapshot).                   |
| **Create a Document**      | Create a new document in a project with optional initial content as JSON.                 |
| **Get Document Variables** | Get the variable definitions for a document — useful before rendering with custom values. |

### Projects

| Module               | Description                             |
| -------------------- | --------------------------------------- |
| **List Projects**    | List all projects in your organization. |
| **Create a Project** | Create a new project.                   |

### Images

| Module                       | Description                                                                                                           |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **Upload a Temporary Image** | Upload an image for use in ad-hoc renders (expires after 24 hours). Returns a `refPath` you can use in document JSON. |
| **List Temporary Images**    | List all non-expired temporary images.                                                                                |
| **Delete a Temporary Image** | Delete a temporary image before it expires.                                                                           |

### PDF Tools — Files

| Module                | Description                                                                                         |
| --------------------- | --------------------------------------------------------------------------------------------------- |
| **Upload a Document** | Upload a file (PDF, DOCX, ODT, PNG, JPEG) for use with tool actions. Files expire after 60 minutes. |
| **List Tool Files**   | List all non-expired tool files.                                                                    |
| **Get File Details**  | Get metadata for a specific tool file.                                                              |
| **Delete a File**     | Delete a tool file from storage.                                                                    |
| **Download a File**   | Download a tool file by ID as binary data.                                                          |

### PDF Tools

| Module                       | Description                                                                                                                                |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Merge PDFs**               | Merge 2–20 PDF files into a single document. Pages are concatenated in the order of the provided file IDs.                                 |
| **Split PDF**                | Split a PDF into multiple parts by page ranges (e.g. `1-3`, `4-4`, `5-`). Output is a ZIP file.                                            |
| **Rotate PDF Pages**         | Rotate specific pages by 90°, 180°, or 270°.                                                                                               |
| **Keep or Remove PDF Pages** | Keep or remove specific pages from a PDF using page specs like `1`, `2-5`, `3-`.                                                           |
| **Add PDF Watermark**        | Add a text watermark to all or specific pages. Supports font size, opacity, rotation, and hex color.                                       |
| **Get PDF Metadata**         | Extract metadata such as page count, title, author, and creation date. Result is returned in the job metadata — no output file is created. |
| **Protect PDF**              | Encrypt a PDF with a user password (to open) and/or an owner password (to edit).                                                           |
| **Unlock PDF**               | Remove password protection from a PDF.                                                                                                     |
| **Compress PDF**             | Reduce PDF file size with three compression levels: low, medium, or high.                                                                  |
| **Convert PDF to Image**     | Convert PDF pages to PNG or JPEG images. Configurable DPI (72–600).                                                                        |
| **Get PDF Form Fields**      | Extract form field names, types, and current values from a PDF.                                                                            |
| **Fill PDF Form**            | Fill form fields in a PDF with provided values. Supports text, checkboxes, dropdowns, and radio groups. Optionally flatten fields.         |

### Document Tools

| Module                               | Description                                                                                                                      |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------- |
| **Convert DOCX**                     | Convert a DOCX file to PDF or other formats like ODT.                                                                            |
| **Convert ODT**                      | Convert an ODT file to PDF or other formats like DOCX.                                                                           |
| **Replace Placeholders in DOCX/ODT** | Replace `{{placeholder}}` tags in a DOCX or ODT document with text, images, lists, or table data. Output format is configurable. |

### Tool Jobs

| Module                  | Description                                           |
| ----------------------- | ----------------------------------------------------- |
| **Get Tool Job Status** | Check the current status of a PDF/document tool job.  |
| **List Tool Jobs**      | List tool jobs for your organization with pagination. |

## How tool modules work

Most PDF and document tool modules follow the same pattern:

1. **Submit** — The module sends a request to the API and receives a job ID
2. **Poll** — The module automatically polls for job completion (every 2 seconds, up to 5 minutes)
3. **Return** — Once completed, the module returns the job ID, status, output file ID, and metadata

You don't need to handle polling yourself — each tool module waits for the result automatically.

<Tip>
  Input files are **not deleted** after a tool job completes. They remain available until they expire (default: 60 minutes). You can reuse the same file ID across multiple tool modules in your scenario.
</Tip>

## Common workflow patterns

### Generate a PDF from dynamic data

1. Use a trigger module (e.g. Google Sheets, Airtable, or a webhook) to get your data
2. Add **Render Document from JSON** and build your document JSON with Make.com data mapping
3. Use **HTTP — Get a file** to download the rendered PDF from the returned `downloadUrl`

### Bulk generate personalized documents

1. Add **Bulk Render from JSON** with a document ID and an array of variable sets
2. The module waits for all documents to be generated
3. Use **Download Bulk Render Output** to get a ZIP file with all documents

### Process an existing PDF

1. Use **HTTP — Get a file** to download a PDF from any source
2. Add **Upload a Document** to upload it as a tool file
3. Apply any tool action (e.g. **Add PDF Watermark**, **Compress PDF**, **Merge PDFs**)
4. Use **Download a File** with the `outputFileId` to get the processed result
