---
agentTools:
  projectIndex: https://developers.pipefy.com/llms.txt
---

# Automation Events Parameters

Reference for event_params accepted by each automation event

## Events Reference

Each automation is triggered by exactly one event. The `event_id` field selects the event type, and `event_params` carries the configuration for that event. Some events require no params.

> **Loop detection:** The automation system rejects configurations that would create infinite loops (e.g., triggering `card_created` to `create_card` in the same pipe, or `all_children_in_phase` to an action that feeds cards back into the same trigger condition). If you receive a loop-related error, use a different target pipe (`action_repo_id`) or reconfigure the action to avoid the cycle.

<details>
<summary><strong>card_moved</strong> — triggers when a card moves into a specific phase</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:**

| Parameter     | Type   | Required | Description                                                                                                                               |
| ------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `to_phase_id` | string | Yes      | ID of the destination phase that should trigger the automation. The automation only fires when a card moves **into** this specific phase. |

**How to get `to_phase_id`:** See [Get Resource IDs](https://developers.pipefy.com/reference/get-resource-ids) → Phase ID.

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Move card when it arrives at phase"
      action_id: "move_single_card"
      event_id: "card_moved"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      event_params: { to_phase_id: "338796240" }
      action_params: { to_phase_id: "338796241" }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>field_updated</strong> — triggers when one or more specific fields are updated on a card</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:**

| Parameter         | Type             | Required | Description                                                                                                                                 |
| ----------------- | ---------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `triggerFieldIds` | array of strings | Yes      | Internal IDs of the fields that should trigger the automation when updated. The automation fires when **any** of the listed fields changes. |

**How to get field internal IDs:**

```graphql
{
  pipe(id: "PIPE_ID") {
    start_form_fields {
      label
      internal_id
    }
    phases {
      fields {
        label
        internal_id
      }
    }
  }
}
```

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Update field when another field changes"
      action_id: "update_card_field"
      event_id: "field_updated"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      event_params: { triggerFieldIds: ["413928300", "423760803"] }
      action_params: {
        field_map: [{ fieldId: "421679209", inputMode: "copy_from", value: "%{423760803}" }]
        fields_map_order: ["421679209"]
        card_id: "%{id}"
      }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>card_created</strong> — triggers when a new card is created</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:** None required. Pass an empty object `{}` or omit the field.

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Create card in another pipe when a card is created"
      action_id: "create_card"
      event_id: "card_created"
      event_repo_id: "306422123"
      action_repo_id: "306422131"
      action_params: {
        field_map: [
          { fieldId: "413928326", inputMode: "copy_from", value: "%{413928300}" }
          { fieldId: "427452189", inputMode: "copy_from", value: "%{413928333.427452209}" }
        ]
        fields_map_order: ["413928326", "427452189"]
      }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>scheduler</strong> — triggers on a recurring schedule (no card context)</summary>

**Accepted actions:** `move_multiple_cards`, `schedule_create_card`

**event\_params:** None.

The scheduler is configured through two additional top-level mutation inputs alongside `event_params` and `action_params`:

| Parameter             | Type   | Required | Description                                                                                                                                    |
| --------------------- | ------ | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `scheduler_frequency` | string | Yes      | How often the automation runs. Known values: `"daily"`, `"hourly"`.                                                                            |
| `schedulerCron`       | object | Yes      | Cron expression defining the exact schedule. Fields: `minute`, `hour`, `dayOfWeek`, `dayOfMonth`, `month` (all strings, standard cron syntax). |

> **Note:** Unlike card-based events, the scheduler does not act on a specific triggering card. Actions available are limited to those that do not require a card context.

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Create card on a daily schedule"
      action_id: "schedule_create_card"
      event_id: "scheduler"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      scheduler_frequency: "daily"
      schedulerCron: { minute: "0", hour: "2", dayOfWeek: "*", dayOfMonth: "*", month: "*" }
      action_params: {
        field_map: [
          { fieldId: "413928300", inputMode: "copy_from", value: "Nome 1" }
          { fieldId: "417331491", inputMode: "fixed_value", value: "316378478,316378479" }
        ]
        fields_map_order: ["413928300", "417331491"]
      }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>sla_based</strong> — triggers when an SLA deadline is reached</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`

**event\_params:**

| Parameter   | Type   | Required | Description                                                                                                                     |
| ----------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `kindOfSla` | string | Yes      | Specifies which SLA state triggers the event. Accepted values: `"late"` (SLA deadline has passed), `"expired"`, or `"overdue"`. |

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Create connected card when SLA is late"
      action_id: "create_connected_card"
      event_id: "sla_based"
      event_repo_id: "306422123"
      action_repo_id: "306422131"
      event_params: { kindOfSla: "late" }
      action_params: {
        field_map: [
          { fieldId: "413928326", inputMode: "copy_from", value: "%{413928300}" }
          { fieldId: "427452189", inputMode: "copy_from", value: "%{413928737.427452209}" }
        ]
        fields_map_order: ["413928326", "427452189"]
      }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>card_left_phase</strong> — triggers when a card leaves a specific phase</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`

**event\_params:**

| Parameter     | Type   | Required | Description                                                    |
| ------------- | ------ | -------- | -------------------------------------------------------------- |
| `fromPhaseId` | string | Yes      | ID of the phase the card must leave to trigger the automation. |

**How to get `fromPhaseId`:** See [Get Resource IDs](https://developers.pipefy.com/reference/get-resource-ids) → Phase ID.

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Move parent card when child leaves a phase"
      action_id: "move_parent_card"
      event_id: "card_left_phase"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      event_params: { fromPhaseId: "338796239" }
      action_params: { to_phase_id: "338796240" }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>card_inbox_received_email</strong> — triggers when an email arrives in a card's inbox at a specific phase</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:**

| Parameter   | Type   | Required | Description                                                             |
| ----------- | ------ | -------- | ----------------------------------------------------------------------- |
| `inPhaseId` | string | Yes      | ID of the phase whose card inbox should be watched for incoming emails. |

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Send email template when card inbox receives an email"
      action_id: "send_email_template"
      event_id: "card_inbox_received_email"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      event_params: { inPhaseId: "338796239" }
      action_params: { email_template_id: "309615724" }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>all_children_in_phase</strong> — triggers when all child cards of a parent are in a specific phase</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:**

| Parameter     | Type   | Required | Description                                                                                                                                                                |
| ------------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `to_phase_id` | string | Yes      | ID of the phase that all child cards must be in for the automation to fire. The automation evaluates the parent card and triggers if every sibling child is in this phase. |

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Move parent card when all children are in a phase"
      action_id: "move_parent_card"
      event_id: "all_children_in_phase"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      event_params: { to_phase_id: "338796241" }
      action_params: { to_phase_id: "338796241" }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>http_response_received</strong> — triggers when an HTTP response is received from a prior <code>send_http_request</code> automation</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:**

| Parameter             | Type   | Required | Description                                                                                                                                               |
| --------------------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `triggerAutomationId` | string | Yes      | ID of the `send_http_request` automation whose HTTP response should trigger this automation. Creates a chain: HTTP request → response → follow-up action. |

To read values from the HTTP response in the follow-up action, use JSONPath syntax in the `field_map.value` field (e.g., `"$.returnKey"`). The available keys are defined by the `responseSchema` set on the triggering `send_http_request` automation.

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Update field from HTTP response"
      action_id: "update_card_field"
      event_id: "http_response_received"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      event_params: { triggerAutomationId: "307040484" }
      action_params: {
        field_map: [{ fieldId: "413928300", inputMode: "copy_from", value: "$.returnKey" }]
        fields_map_order: ["413928300"]
        card_id: "%{id}"
      }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

<details>
<summary><strong>manually_triggered</strong> — triggered by a user action (button click in the interface)</summary>

**Accepted actions:** `move_single_card`, `move_parent_card`, `update_card_field`, `create_card`, `create_connected_card`, `send_email_template`, `distribute_assignments`, `send_http_request`, `run_a_formula`, `generate_with_ai`, `apply_sla_rules`, `send_a_task`

**event\_params:** None required.

**Mutation example:**

```graphql
mutation {
  createAutomation(
    input: {
      name: "Apply SLA rules manually"
      action_id: "apply_sla_rules"
      event_id: "manually_triggered"
      event_repo_id: "306422123"
      action_repo_id: "306422123"
      action_params: {
        field_map: [
          { fieldId: "428937593", inputMode: "copy_from", value: "%{created_at|plus:259200}" }
        ]
        slaParams: {
          monday: { startHour: "09:00", endHour: "18:00", enabled: true }
          tuesday: { startHour: "09:00", endHour: "18:00", enabled: true }
          wednesday: { startHour: "09:00", endHour: "18:00", enabled: true }
          thursday: { startHour: "09:00", endHour: "18:00", enabled: true }
          friday: { startHour: "09:00", endHour: "18:00", enabled: true }
          saturday: { startHour: "09:00", endHour: "18:00", enabled: false }
          sunday: { startHour: "09:00", endHour: "18:00", enabled: false }
          timezone: "Etc/UTC"
          holidays: [
            { description: "New Year's Day", date: "2026-01-01", recurrence: "YEARLY" }
            { description: "Corpus Christis", date: "2026-06-04", recurrence: "ONCE" }
          ]
        }
      }
    }
  ) {
    automation {
      id
      name
      action_id
      event_id
    }
    error_details {
      object_name
      object_key
      messages
    }
  }
}
```

</details>

***

## See also

* [Conditions](https://developers.pipefy.com/reference/conditions)
* [Automation Actions Parameters](https://developers.pipefy.com/reference/actions-params)
* [Create automation](https://developers.pipefy.com/reference/automation-creation)
* [Update automation](https://developers.pipefy.com/reference/automation-update)
* [Get Resource IDs](https://developers.pipefy.com/reference/get-resource-ids)
* [Automation actions query](https://developers.pipefy.com/reference/automation-actions)
* [Automation events query](https://developers.pipefy.com/reference/automation-events)