> ## Documentation Index
> Fetch the complete documentation index at: https://taskflow-8047ebcf.mintlify.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Zapier

> Automate workflows by connecting TaskFlow to thousands of apps

Connect TaskFlow to Zapier to trigger automated workflows whenever a task is completed. Use TaskFlow as the starting point for Zaps that update spreadsheets, send messages, create records, and more — across thousands of apps.

## What the integration does

Whenever a task's status changes to **Done**, TaskFlow sends an HTTP POST request to a Zapier webhook URL you provide. Zapier receives the payload and triggers any Zap you've built on top of it.

<Note>
  The webhook fires only when a task transitions **to** Done status. Tasks that are already Done when you save the webhook URL will not trigger a request.
</Note>

## Webhook payload

Every request TaskFlow sends to Zapier includes the following JSON body:

```json theme={null}
{
  "event": "task_completed",
  "task": {
    "id": "task-id",
    "title": "Design login page",
    "description": "...",
    "completedAt": "2024-01-15T10:30:00.000Z"
  },
  "workspace": "Acme Corp"
}
```

## Set up the Zapier integration

<Steps>
  <Step title="Create a Zap with a Catch Hook trigger">
    In Zapier, create a new Zap. For the trigger, choose **Webhooks by Zapier** and select **Catch Hook** as the event. Zapier generates a unique webhook URL for this Zap.
  </Step>

  <Step title="Copy the webhook URL">
    Copy the webhook URL that Zapier displays on the trigger setup screen.
  </Step>

  <Step title="Open workspace Settings in TaskFlow">
    In TaskFlow, navigate to your workspace and open **Settings → Integrations**.
  </Step>

  <Step title="Paste the webhook URL">
    Find the **Zapier Webhook URL** field and paste the URL you copied from Zapier.
  </Step>

  <Step title="Save">
    Click **Save**. TaskFlow will now POST to that URL every time a task is marked Done.
  </Step>
</Steps>

<Warning>
  If the webhook URL is invalid or unreachable, TaskFlow records the failure and continues operating normally. Task updates are not blocked or rolled back due to a failed webhook delivery.
</Warning>

<Tip>
  **Common Zap ideas to get you started:**

  * Create a Notion database entry when a task completes
  * Send a Slack DM to the task creator when their task is marked Done
  * Log completed tasks to a Google Sheets spreadsheet for reporting
</Tip>

## Workspace API key

TaskFlow can also generate a unique API key for your workspace. Use it to identify your workspace in third-party tools or to authenticate outbound requests.

**Format:** `tf_` followed by a 48-character hex string (e.g., `tf_a3f2...`)

To generate one, go to **Settings → Integrations → Generate API Key**. Each time you generate a key, the previous key is replaced.

## Update or remove the webhook URL

<AccordionGroup>
  <Accordion title="How to change the webhook URL">
    Go to **Settings → Integrations**, clear the **Zapier Webhook URL** field, paste the new URL, and save. TaskFlow will use the new URL for all subsequent task completions.
  </Accordion>

  <Accordion title="How to stop sending webhooks">
    Go to **Settings → Integrations**, clear the **Zapier Webhook URL** field, and save. TaskFlow will stop sending webhook requests.
  </Accordion>
</AccordionGroup>
