canonical: https://jentic.com/apis/copy.ai/copyai

# Copy.ai Workflows API

Jentic publishes the only available OpenAPI specification for Copy.ai Workflows API, keeping it validated and agent-ready. The Copy.ai Workflows API lets external systems trigger pre-built Copy.ai workflows by ID, retrieve the run output, and subscribe to webhooks when runs complete. The seven endpoints cover starting a workflow run, listing recent runs, fetching a specific run, and full webhook lifecycle management. Authentication is via an API key passed in a custom header, and workflow inputs and outputs are passed as JSON payloads matching whatever variables the underlying Copy.ai workflow expects.

## For AI agents

Trigger pre-built Copy.ai workflows from an agent and stream completion via webhook to inject generated marketing copy into downstream systems.

## Scope

Does not handle prompt design, model selection, or content publishing - use for triggering and retrieving Copy.ai workflow runs only.

## Capabilities

- Start a Copy.ai workflow run with input variables defined by the workflow
- Fetch the result of a specific workflow run including the generated output
- List the recent run history for a workflow to inspect failures or throughput
- Register a webhook to be notified when a workflow run completes
- List or remove existing webhook subscriptions on the account

## Use cases

### Bulk Product Description Generation

E-commerce teams with a Copy.ai workflow that turns product attributes into a description can trigger one workflow run per product from their catalogue ingestion pipeline. POST /workflow/{workflow_id}/run starts each run, and a webhook fires on completion so the catalogue can be updated without polling. The API supports any input shape the workflow defines.

Example prompt: POST /workflow/{workflow_id}/run with the product SKU, attributes and target tone, then store the returned run_id for the catalogue update.

### Sales Email Drafting From CRM Triggers

Sales operations can wire CRM stage changes to Copy.ai workflows that draft outreach emails referencing the deal context. The webhook payload returns the generated copy, which a downstream automation can attach as a draft activity in the CRM for the rep to review and send.

Example prompt: Trigger the 'sales-email-draft' workflow with the deal name, prospect role and company size; on webhook completion attach the output to the CRM record.

### Content Operations Dashboard

Content teams running multiple Copy.ai workflows for different channels can build a dashboard listing recent runs and their outputs by calling GET /workflow/{workflow_id}/run for each tracked workflow. This surfaces failed runs and throughput without logging into the Copy.ai UI.

Example prompt: GET /workflow/{workflow_id}/run for each of the team's three production workflows and summarise success rate over the last 50 runs.

### Agent-Driven Copy Generation

An AI agent that needs branded marketing copy can call Copy.ai workflows through Jentic instead of generating from scratch, ensuring outputs match the workflow's pre-tuned voice, prompts and guardrails. Jentic handles the API key and the agent simply provides workflow inputs and consumes the run result.

Example prompt: Use Jentic to start a Copy.ai workflow run for a launch announcement and poll GET /workflow/{workflow_id}/run/{run_id} until status is complete.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /workflow/{workflow_id}/run | Start a workflow run |
| GET | /workflow/{workflow_id}/run | List runs for a workflow |
| GET | /workflow/{workflow_id}/run/{run_id} | Get a specific workflow run |
| POST | /webhook | Register a webhook |
| GET | /webhook | List webhooks |
| GET | /webhook/{webhook_id} | Get a specific webhook |
| DELETE | /webhook/{webhook_id} | Remove a webhook |

## Key resources

- **Workflows** — Trigger workflow runs, list runs and fetch a specific run's output
- **Webhooks** — Register, list and remove webhook subscriptions for run completion events

## Why Jentic

- **Setup:** Wiring Copy.ai by hand means setting its x-copy-ai-api-key header and coding the trigger-then-poll flow yourself: start a workflow run, then poll for its result. Through Jentic you install once, import the Copy.ai Workflows API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Copy.ai puts the workflow id in the URL path (/workflow/{workflow_id}/run), so a rule can pin your agent to one workflow: it can trigger that workflow and read its runs and nothing else. You choose the operations it may call, so deleting webhooks is not included unless you add it.
- **Credential handling:** Your Copy.ai API key is stored once, encrypted, by your own Jentic One instance and injected into the x-copy-ai-api-key header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'trigger a Copy.ai workflow' or 'fetch a Copy.ai run result', and Jentic returns the matching workflow or webhook operation with its run input schema so the agent supplies the right variables without browsing the reference docs.

## Related APIs

- **OpenAI API** — General-purpose LLM API for direct prompt-based copy generation
- **n8n API** — Workflow automation tool that can orchestrate Copy.ai runs across multiple data sources
- **Zapier API** — Automation platform that can fan Copy.ai outputs into hundreds of downstream apps
- **HubSpot Marketing Emails API** — Send the generated copy as marketing emails through HubSpot

## FAQ

### Why is there no official OpenAPI spec for Copy.ai Workflows API?

Copy.ai does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Copy.ai Workflows API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Copy.ai Workflows API use?

The API uses an API key passed as a custom header (apiKeyHeader scheme in the spec). Through Jentic the API key is held in the credential vault and attached to the request at execution time, so the raw key never enters agent context.

### Can I trigger a Copy.ai workflow run from an external system?

Yes. POST /workflow/{workflow_id}/run starts the run with whatever JSON inputs the workflow expects, and returns a run ID. Either poll GET /workflow/{workflow_id}/run/{run_id} or register a webhook on POST /webhook to be notified when the run finishes.

### How does the Copy.ai webhook flow work?

Register the webhook URL with POST /webhook and Copy.ai will POST the run output to that URL when each run completes. List existing subscriptions with GET /webhook and remove stale ones with DELETE /webhook/{webhook_id} to keep only the receivers you trust.

### What rate limits apply to the Copy.ai Workflows API?

The OpenAPI spec does not declare formal rate limits. Treat workflow runs as quota-consuming and respect plan limits documented in the Copy.ai dashboard, with retry-with-backoff on HTTP 429.

### How do I run a Copy.ai workflow through Jentic?

Run pip install jentic, search Jentic with 'trigger Copy.ai workflow', load the operation schema for POST /workflow/{workflow_id}/run and execute it with the workflow ID and the input payload that the workflow expects.

### Can I limit what my agent is allowed to do with the Copy.ai Workflows API?

Yes. Because Jentic One is self-hosted, your own rules decide which operations and credentials your agent may use. Since Copy.ai puts the workflow ID in the URL path (/workflow/{workflow_id}/run), you can pin an agent to a single workflow so it may only trigger that workflow and read its runs. You choose the operations it can call, so actions like DELETE /webhook are excluded unless you explicitly add them.
