---
title: "Invoke an Automation"
method: POST
path: "/automations/{templateId}/invoke"
tags: ["Automations"]
---

# Invoke an Automation

`POST /automations/{templateId}/invoke`

Starts an automation run from a saved template for one recipient, with optional data and profile, and returns a runId.

## Path parameters

- `templateId` string, required

## Headers

- `Idempotency-Key` string
- `x-idempotency-expiration` string

## Request body

- AutomationInvokeParams
  - `brand` string, nullable
  - `data` object, nullable
  - `profile` object, nullable
  - `recipient` string, nullable, required
  - `template` string, nullable

## Response `200`

- AutomationInvokeResponse
  - `runId` string, required

## Changes

- **2026-07-29** `f76bed79a913` — 2 info
  - added the new optional `header` request parameter `Idempotency-Key`
  - added the new optional `header` request parameter `x-idempotency-expiration`
- **2025-10-07** `7143ea51f307` — 2 breaking
  - the request property `recipient` became required
  - the `profile` request property type/format changed from ``/`` to `object`/``

[Change history](https://skmtc.dev/trycourier/apis/courier/changes/automations/:templateId/invoke/post.md)

---

[API](https://skmtc.dev/trycourier/apis/courier.md) · [All operations](https://skmtc.dev/trycourier/apis/courier/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trycourier/courier/revisions/cb8586034158/schema)
