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

# List automation templates

> List the ready-made automation templates and the parameters each one needs

This endpoint lists the curated automation templates: ready-made automations you apply with [Apply automation template](https://docs.lacy.ai/api-reference/automations/apply-automation-template.md) by supplying a few parameters, instead of writing a definition from scratch. Each entry describes its parameters, the account connections it needs, whether it attaches to an assistant, and whether it sends real messages during its test run.

### Available templates

| Key | What it does | Assistant | Sends for real | Connections | Params (\* = required) |
| - | - | - | - | - | - |
| `post-call-qualified-to-sheets` | Save qualified leads to Google Sheets after each call | yes | no | `google-sheets` | `spreadsheet_id`\*, `qualified_variable` |
| `post-call-transcript-email` | Email the call transcript after each call | yes | yes | `gmail` | `recipient_email`\* |
| `post-call-hot-lead-alert` | Hot lead email alert after each call | yes | yes | `gmail` | `alert_email`\*, `hot_variable` |
| `post-call-sms-followup` | SMS follow-up after each call | yes | yes | — | `from_phone_id`\*, `message`\* |
| `post-call-whatsapp-confirmation` | WhatsApp confirmation after each call | yes | yes | — | `sender_id`\*, `whatsapp_template`\*, `variable_1` |
| `post-call-crm-note-http` | Log every call to your CRM / any API | yes | yes | — | `endpoint_url`\*, `auth_header`, `auth_value` |
| `post-call-callback` | Call the customer back at the time they asked for | yes | yes | — | `callback_variable`, `time_variable`, `from_timezone` |
| `inbound-caller-lookup-http` | Recognize inbound callers via your API | yes | no | — | `lookup_url`\*, `api_key_header`, `api_key`, `phone_format` |
| `conversation-ended-summary-email` | Email a summary when a chat ends | yes | yes | `gmail` | `recipient_email`\* |
| `lead-intake-webhook` | New lead from any system, call them automatically | no | yes | — | `campaign_id`\* |
| `midcall-http-lookup` | Mid-call lookup in an external API | no | no | — | `lookup_url`\*, `auth_header_value` |
| `sheet-rows-to-campaign` | Call the leads added to a Google Sheet | no | yes | `google-sheets` | `spreadsheet_id`\*, `campaign_id`\*, `phone_column`, `name_column`, `minutes` |
| `sheet-rows-to-whatsapp-daily` | Daily WhatsApp template to leads from a Google Sheet | no | yes | `google-sheets` | `spreadsheet_id`\*, `sender_id`\*, `whatsapp_template`\*, `phone_column`, `name_column`, `hour`, `timezone` |
| `calcom-call-before-appointment` | Call the customer before their Cal.com appointment | no | yes | `cal-com` | `assistant_id`\*, `hours_before`, `phone_expression` |
| `calcom-cancel-reschedule-midcall` | Cancel or reschedule Cal.com appointments during a call | no | yes | — | `attendee_email`\* |
| `ghl-appointment-manage-midcall` | Cancel or reschedule GoHighLevel appointments during a call | no | no | `lead-connector` | `timezone` |

Required connections are one-time account links (Google Sheets, Gmail, Cal.com, …) made in the app on the Automate page, under Connections.

### Response

**data** `array`

The template library

**template properties**

**key** `string`

The template key — pass it in the URL of [Apply automation template](https://docs.lacy.ai/api-reference/automations/apply-automation-template.md)

**name** `string`

The template's name (also the default name of the automation it creates)

**description** `string`

What the resulting automation does

**use\_when** `string`

When this template is the right choice

**binding** `string | null`

The assistant event the resulting automation attaches to (`post_call`, `inbound`, `conversation_ended`), or `null` for templates that do not attach to an assistant event

**requires\_assistant** `boolean`

Whether `assistant_id` is required when applying it

**required\_connections** `array`

Account connections that must exist before applying (e.g. `google-sheets`, `gmail`)

**side\_effects** `boolean`

Whether the resulting automation really sends messages / starts calls — applying it requires `confirm_side_effects: true`

**params** `array`

The parameters the template needs

**param properties**

**key** `string`

The parameter key to send in `params` when applying

**label** `string`

Human-readable label

**description** `string`

What the value is and where to find it

**required** `boolean`

Whether the parameter must be supplied

**default** `string`

The value used when the parameter is omitted (optional parameters only)

**example** `string`

An example value — for illustration only, never apply a template with example values

**auto** `string`

Present on some optional parameters: how the value is filled automatically when omitted (e.g. `assistant_timezone` — the supplied assistant's own timezone)

**test\_sample** `object`

Present on some templates: the sample payload their test run uses

```json 200 Response (truncated) theme={null}
{
  "data": [
    {
      "key": "post-call-qualified-to-sheets",
      "name": "Save qualified leads to Google Sheets",
      "description": "After each call, if the AI marked the caller as qualified, appends a row (phone, name, summary, status) to your Google Sheet.",
      "use_when": "The user wants qualified calls or call outcomes collected in a spreadsheet automatically.",
      "binding": "post_call",
      "requires_assistant": true,
      "required_connections": ["google-sheets"],
      "side_effects": false,
      "params": [
        {
          "key": "spreadsheet_id",
          "label": "Google Spreadsheet ID",
          "description": "The spreadsheet to append rows to.",
          "required": true,
          "example": "1AbCdEfGhIjKlMnOpQrStUvWxYz"
        },
        {
          "key": "qualified_variable",
          "label": "Qualified variable name",
          "description": "The post-call variable checked for true before saving (the assistant must extract it).",
          "required": false,
          "default": "status",
          "example": "qualified"
        }
      ]
    }
  ]
}
```


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