# Automations

Manage outreach automation sequences. Automations define multi-step workflows that send LinkedIn messages, emails, and perform other actions on a schedule.

**Flow statuses:** `on` (active), `off` (paused), `draft`, `archived`.


## List automations

 - [GET /flows/api/flows](https://api.grinfi.io/openapi/automations/listflows.md): Retrieve all outreach automations in your account. Automations are multi-step sequences that send LinkedIn messages, emails, and other actions on a schedule.

## Get an automation

 - [GET /flows/api/flows/{flowUuid}](https://api.grinfi.io/openapi/automations/getflow.md): Retrieve full details of an automation by UUID.

## Update an automation

 - [PUT /flows/api/flows/{flowUuid}](https://api.grinfi.io/openapi/automations/updateflow.md): Update an automation's name, description, or schedule.

## Delete an automation

 - [DELETE /flows/api/flows/{flowUuid}](https://api.grinfi.io/openapi/automations/deleteflow.md): Permanently delete an automation. This cannot be undone.

## Start an automation

 - [PUT /flows/api/flows/{flowUuid}/start](https://api.grinfi.io/openapi/automations/startflow.md): Activate an automation so it begins processing contacts and executing outreach steps on its schedule.

## Stop an automation

 - [PUT /flows/api/flows/{flowUuid}/stop](https://api.grinfi.io/openapi/automations/stopflow.md): Pause an automation. Contacts already in progress will finish their current step.

## Archive an automation

 - [PUT /flows/api/flows/{flowUuid}/archive](https://api.grinfi.io/openapi/automations/archiveflow.md): Archive an automation. Archived automations cannot be started.

## Unarchive an automation

 - [PUT /flows/api/flows/{flowUuid}/unarchive](https://api.grinfi.io/openapi/automations/unarchiveflow.md): Restore an archived automation so it can be started again.

## Clone an automation

 - [POST /flows/api/flows/clone](https://api.grinfi.io/openapi/automations/cloneflow.md): Create a copy of an existing automation with a new name. The cloned automation will be in a stopped state.

## List flow contacts

 - [POST /flows/api/flows-leads/list](https://api.grinfi.io/openapi/automations/listflowleads.md): Search contacts enrolled in automations. Returns flow-lead records that link a contact to a flow with status, current node, and timing fields.

## Remove contact's flow history

 - [DELETE /flows/api/flows/leads/{leadUuid}](https://api.grinfi.io/openapi/automations/deleteflowleadhistory.md): Permanently delete all flow-lead records for a contact across all automations. This removes the enrollment history; the contact itself is not deleted.

## List automation folders

 - [GET /flows/api/flow-workspaces](https://api.grinfi.io/openapi/automations/listflowworkspaces.md): List all automation folders (workspaces) for organizing automations.

## Create automation folder

 - [POST /flows/api/flow-workspaces](https://api.grinfi.io/openapi/automations/createflowworkspace.md)

## Update automation folder

 - [PUT /flows/api/flow-workspaces/{uuid}](https://api.grinfi.io/openapi/automations/updateflowworkspace.md)

## Delete automation folder

 - [DELETE /flows/api/flow-workspaces/{uuid}](https://api.grinfi.io/openapi/automations/deleteflowworkspace.md)

## Get automation metrics

 - [POST /flows/api/flows/metrics](https://api.grinfi.io/openapi/automations/getflowmetrics.md): Retrieve performance metrics for one or more automations. Returns contact counts and task breakdowns per automation UUID.

## Add a contact to an automation

 - [POST /flows/api/flows/{flowUuid}/leads/{leadUuid}](https://api.grinfi.io/openapi/automations/addleadtoflow.md): Add an existing contact to an automation. The contact will enter the automation from the beginning of the sequence.

## Create a contact and add to automation

 - [POST /flows/api/flows/{flowUuid}/add-new-lead](https://api.grinfi.io/openapi/automations/addnewleadtoflow.md): Create a new contact and immediately add them to an automation. The contact is created in the specified list and starts the automation sequence. If skip_if_lead_exists is true, existing contacts won't be added again.

## Cancel contact from specific automations

 - [PUT /flows/api/flows/leads/{leadUuid}/cancel](https://api.grinfi.io/openapi/automations/cancelleadfromflows.md): Remove a contact from specific automations. The contact's progress in those automations will be cancelled.

## Cancel contact from all automations

 - [PUT /flows/api/flows/leads/{leadUuid}/cancel-all](https://api.grinfi.io/openapi/automations/cancelleadfromallflows.md): Remove a contact from all active automations at once.

