> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rootly.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Event Payloads

> Reference documentation for webhook event payload structures used in Rootly integrations and custom automations, including incident, alert, and pulse events.

## alert.\*

Alert webhook payloads contain a snapshot of the current alert and its cumulative timeline in `data.events`. Rootly emits `alert.updated` when the alert itself changes or a timeline event is added.

Use the top-level `event.id` to deduplicate webhook delivery retries. Because the timeline is cumulative, reconcile the complete `data.events` snapshot by each entry's `id`: insert unseen events and refresh stored copies of known events when their fields change. Events are ordered by `created_at`, oldest first. Adding a timeline event emits `alert.updated`; editing or deleting an existing timeline event does not.

When a timeline event triggers `alert.updated`, Rootly creates one idempotent outbound event for that timeline entry. Its cumulative `data.events` snapshot ends at the triggering entry, so the final array item is the event associated with that delivery. This cutoff applies to `data.events`; top-level alert fields and timestamps reflect the settled alert and can include state persisted after the triggering timeline entry. Adjacent timeline events are sent in separate deliveries instead of being collapsed into one snapshot. A retry of the same timeline event retains the same top-level `event.id`.

An alert field can still change without creating a timeline event. In that case, `alert.updated` can contain no new `data.events` entry. Do not treat the cumulative array as append-only: a known event ID can reappear in a later snapshot with corrected metadata.

Two deliveries with different top-level `event.id` values are distinct alert snapshots, even when their timelines are identical. ISO 8601 timestamps can represent the same instant with different UTC offsets, so do not use their displayed offset to identify duplicate deliveries.

### Alert context

Alert payloads include Rootly-owned context without requiring another API request:

* `data.created_by`: The complete user who created the alert from a Rootly interface. The field is omitted when the creation event has no user, such as an alert ingested from a monitoring source.
* `data.alert_urgency`: The current urgency, including `id`, `name`, `description`, `urgency`, and `position`.
* `data.data.rootly.notification_target`: The normalized `type` and `id` of the most recently accepted paging target. The second `data` is the alert object's own data hash. Rootly adds this nested value without replacing source-specific or customer-provided keys in that hash. For a multi-target page, this singular value is the last successfully processed target, not the authoritative target set; reconcile the separate `alert.updated` deliveries for the request's `action: paged` timeline events and their `notification_target` objects to collect every successful destination.

### Alert Ownership Changes

Manual ownership transfers preserve the existing `kind: action` and `action: paged` contract. They add `page_reason: manual_reassignment` so consumers can distinguish an explicit destination change from other pages. For multi-target pages, adding or removing a destination counts as an ownership change, and each successful page event from that request includes the reason.

The same `page_reason` discriminator is available on alert events returned by the public API and mobile API.

| `kind` | `action` | `page_reason` | Meaning |
| - | - | - | - |
| `action` | `paged` | `manual_reassignment` | A user manually changed an existing alert's notification target or target set |
| `action` | `paged` | Not present | An initial or automated page occurred, or the alert progressed within its current escalation policy |

<Note>
  Progression between levels of the current escalation policy does not include `page_reason: manual_reassignment`.
</Note>

For a manual page, Rootly suppresses delivery while the page operation is in progress. After it settles, Rootly emits one event-specific `alert.updated` for each successful page event. When the page creates a new alert, Rootly emits the normal `alert.created` event and these `alert.updated` deliveries; subscribe to `alert.updated` for the resulting page events and ownership metadata. For a multi-target page, Rootly determines `page_reason` from the destinations that were successfully paged. Each cumulative snapshot ends at its successful page event and can include corrected metadata on earlier events when a later success changes the batch reason. Use the top-level `event.id` to deduplicate retries and each timeline event's `id` to reconcile the cumulative `data.events` list.

Ownership-change timeline events include:

* `user`: The complete user associated with the event. For an action event this is the actor; for a notification event this is the recipient. `user_id` remains available for compatibility.
* `paged_user`: For a user-group page that fans out to an individual on-call user, the complete recipient user. This keeps the selected group in `notification_target` while identifying who was actually paged. The field is omitted for other target types.
* `notification_target`: On the manual-page event, the notification target originally selected by the actor. Supported manual-reassignment types are `escalation_policy`, `group`, `service`, `functionality`, and `user`.

`group` is the serialized target type for a Team selected in the Rootly interface.

Every `notification_target` includes stable `type` and `id` fields. When the selected resource still exists, Rootly also includes its standard outgoing webhook fields:

| `type` | Additional fields |
| - | - |
| `escalation_policy` | `name`, `description`, `created_at`, `updated_at` |
| `group` | `name`, `description`, `color`, notification configuration, integration identifiers, `created_at`, `updated_at` |
| `service` | `name`, `slug`, descriptions, `color`, notification and repository configuration, integration identifiers, `created_at`, `updated_at` |
| `functionality` | `name`, `slug`, descriptions, `color`, notification configuration, integration identifiers, `created_at`, `updated_at` |
| `user` | `name`, `email`, `preferred_name`, `full_name`, `full_name_with_team`, `slack_id` |

Downstream notification events can also identify the channel or space that received a notification. These are not manual-reassignment targets:

| `type` | Additional fields |
| - | - |
| `slack_channel` | `name` |
| `microsoft_teams_channel` | `name` |
| `google_chat_space` | `name` |

If the referenced resource was deleted or is otherwise unavailable when the webhook is generated, `notification_target` remains present with only its stored `type` and `id`. Consumers should therefore treat all additional fields as optional.

### Snooze and urgency context

Timeline events expose the values associated with snooze and urgency changes:

* An event with `kind: action` and `action: snoozed` includes `snooze_duration_in_minutes`.
* An event with `kind: alert_urgency` and `action: updated` includes the new `alert_urgency` object and the `previous_alert_urgency` object when each referenced urgency is available.

```json JSON theme={null}
[
  {
    "kind": "action",
    "action": "snoozed",
    "snooze_duration_in_minutes": 30
  },
  {
    "kind": "alert_urgency",
    "action": "updated",
    "alert_urgency": {
      "id": "8c94544b-58eb-4a32-ae77-17f7091c292e",
      "name": "High",
      "description": "Immediate response required",
      "urgency": "high",
      "position": 0
    },
    "previous_alert_urgency": {
      "id": "f28bf5cd-d470-4c41-a976-f6bf36599ed0",
      "name": "Low",
      "description": "Respond during working hours",
      "urgency": "low",
      "position": 1
    }
  }
]
```

When an alert is transferred to an escalation policy with no pageable targets, the manual-page event still identifies the selected policy and the resulting `alert.updated` payload reports `data.status` as `open`. If the alert was previously non-`open`, the timeline also includes a `kind: status_update` event with `action: open`; an alert that was already `open` does not record another status transition.

### `alert.updated` Manual Reassignment Example

The following representative payload is the event-specific delivery for the manual `paged` event, so that event is the final item in `data.events`. The alert snapshot already reports `data.status` as `open`. If the transfer also creates a later `status_update / open` event, Rootly sends it in a separate `alert.updated` delivery whose timeline ends at that status event. Optional fields may vary by alert and serializer version:

```json JSON theme={null}
{
  "event": {
    "id": "39ad7696-7e4c-4114-88c9-258c4211d630",
    "type": "alert.updated",
    "issued_at": "2026-08-05T17:00:01.000-07:00"
  },
  "data": {
    "id": "826a9d01-3745-468c-977d-05a64202881e",
    "source": "web",
    "status": "open",
    "summary": "API latency is above threshold",
    "labels": [],
    "services": [],
    "environments": [],
    "data": {
      "rootly": {
        "notification_target": {
          "type": "escalation_policy",
          "id": "9f8c123b-49fa-41c0-8ecf-7b1bef55f99c"
        }
      }
    },
    "alert_urgency": {
      "id": "8c94544b-58eb-4a32-ae77-17f7091c292e",
      "name": "High",
      "description": "Immediate response required",
      "urgency": "high",
      "position": 0
    },
    "created_by": {
      "id": 129,
      "name": "Ada Lovelace",
      "email": "ada@example.com",
      "preferred_name": null,
      "full_name": "Ada Lovelace",
      "full_name_with_team": "[Acme] Ada Lovelace",
      "slack_id": null
    },
    "started_at": "2026-08-05T16:55:00.000-07:00",
    "ended_at": null,
    "created_at": "2026-08-05T17:00:00.000-07:00",
    "updated_at": "2026-08-05T17:00:01.000-07:00",
    "events": [
      {
        "id": "276e87ef-1f2a-4b54-9267-feba4d7a2960",
        "alert_id": "826a9d01-3745-468c-977d-05a64202881e",
        "kind": "informational",
        "source": "web",
        "action": "created",
        "details": null,
        "user": {
          "id": 129,
          "name": "Ada Lovelace",
          "email": "ada@example.com",
          "preferred_name": null,
          "full_name": "Ada Lovelace",
          "full_name_with_team": "[Acme] Ada Lovelace",
          "slack_id": null
        },
        "user_id": 129,
        "incident_ids": [],
        "created_at": "2026-08-05T17:00:00.000-07:00",
        "updated_at": "2026-08-05T17:00:00.000-07:00"
      },
      {
        "id": "b722de6d-55a6-4814-a576-e5e5e353745b",
        "alert_id": "826a9d01-3745-468c-977d-05a64202881e",
        "kind": "status_update",
        "source": "web",
        "action": "triggered",
        "details": null,
        "user": null,
        "user_id": null,
        "incident_ids": [],
        "created_at": "2026-08-05T17:00:00.001-07:00",
        "updated_at": "2026-08-05T17:00:00.001-07:00"
      },
      {
        "id": "e626c88b-1bd7-4856-96c2-f95af0901457",
        "alert_id": "826a9d01-3745-468c-977d-05a64202881e",
        "kind": "action",
        "source": "web",
        "action": "paged",
        "details": "Escalating to the secondary policy",
        "user": {
          "id": 129,
          "name": "Ada Lovelace",
          "email": "ada@example.com",
          "preferred_name": null,
          "full_name": "Ada Lovelace",
          "full_name_with_team": "[Acme] Ada Lovelace",
          "slack_id": null
        },
        "user_id": 129,
        "notification_target": {
          "type": "escalation_policy",
          "id": "9f8c123b-49fa-41c0-8ecf-7b1bef55f99c",
          "name": "Secondary escalation policy",
          "description": "Fallback ownership policy",
          "created_at": "2026-07-15T09:30:00.000-07:00",
          "updated_at": "2026-08-05T16:45:00.000-07:00"
        },
        "incident_ids": [],
        "created_at": "2026-08-05T17:00:00.500-07:00",
        "updated_at": "2026-08-05T17:00:00.500-07:00",
        "page_reason": "manual_reassignment"
      }
    ]
  }
}
```

***

## genius\_workflow\_run.\*

<Tabs>
  <Tab title="genius_workflow_run.queued">
    ```json JSON theme={null}
    {
    	"event":{
    		"id":"88a53013-05dc-44df-bb4f-c68d890f8bf9",
    		"type":"genius_workflow_run.queued",
    		"issued_at":"2022-12-19T08:02:03.067-08:00"
    	},
    	"data":{
    		"id":"daf992ed-df23-41df-a72c-438616b4f6dc",
    		"kind":"incident",
    		"status":"queued",
    		"status_message": null,
    		"user_id":3186,
    		"genius_workflow_id":"a1b76e56-e1ab-4b36-856f-b6481251c698",
    		"genius_workflow_name":"Send Email when incident starts",
    		"queued_at":"2022-12-19T08:02:03.031-08:00",
    		"started_at":null,
    		"completed_at":null,
    		"failed_at":null,
    	    "canceled_at":null,
    		"triggered_by":"system",
    		"created_at":"2022-12-19T08:02:03.031-08:00",
    		"updated_at":"2022-12-19T08:02:03.031-08:00",
            "incident_id":"5c80f5a1-9389-4970-bb49-8268acf2954f",
    		"incident_action_item_id":null,
    		"incident_post_mortem_id":null,
    		"alert_id":null,
    		"pulse_id":null
    	}
    }
    ```
  </Tab>

  <Tab title="genius_workflow_run.started">
    ```json JSON theme={null}
    {
    	"event":{
    		"id":"76376d80-29e4-4aaf-8295-c12f111cf5eb",
    		"type":"genius_workflow_run.started",
    		"issued_at":"2022-12-19T08:04:55.249-08:00"
    	},
    	"data":{
    		"id":"ff3021be-6ac2-4253-afbe-ae866c0c75a3",
    		"kind":"incident",
    		"status":"started",
    		"status_message": null,
    		"user_id":3186,
    		"genius_workflow_id":"a1b76e56-e1ab-4b36-856f-b6481251c698",
            "genius_workflow_name":"Send Email when incident starts",
            "queued_at":"2022-12-19T08:04:55.196-08:00",
    		"started_at":"2022-12-19T08:04:55.220-08:00",
    		"completed_at":null,
    		"failed_at":null,
    		"canceled_at":null,
    		"triggered_by":"user",
    		"status":"started",
    		"created_at":"2022-12-19T08:04:55.196-08:00",
    		"updated_at":"2022-12-19T08:04:55.226-08:00",
    		"incident_id":"5c80f5a1-9389-4970-bb49-8268acf2954f",
    		"incident_action_item_id":null,
    	    "incident_post_mortem_id":null,
    		"alert_id":null,
    		"pulse_id":null
    	}
    }
    ```
  </Tab>

  <Tab title="genius_workflow_run.completed">
    ```json JSON theme={null}
    {
    	"event":{
    		"id":"ae55dd1a-9bde-4a98-bd42-61df1e8dd80f",
    		"type":"genius_workflow_run.completed",
    		"issued_at":"2022-12-19T08:06:35.911-08:00"
    	},
    	"data":{
    		"id":"4cd6046c-9ed9-423e-8145-a1891f82ac57",
    		"kind":"incident",
    		"status":"completed",
    		"status_message": null,
    		"user_id":3186,
    		"genius_workflow_id":"678fbb8a-23bc-4fcf-8d46-b1833698b75b",
    		"genius_workflow_name":"Send Email when incident starts",
    		"queued_at":"2022-12-19T08:06:33.493-08:00",
    		"started_at":"2022-12-19T08:06:33.512-08:00",
    		"completed_at":"2022-12-19T08:06:35.887-08:00",
    		"failed_at":null,
    		"canceled_at":null,
    		"triggered_by":"user",
    		"created_at":"2022-12-19T08:06:33.493-08:00",
    		"updated_at":"2022-12-19T08:06:35.887-08:00",
    		"incident_id":"5c80f5a1-9389-4970-bb49-8268acf2954f",
    		"incident_action_item_id":null,
    		"incident_post_mortem_id":null,
    		"alert_id":null,
    		"pulse_id":null
    	}
    }
    ```
  </Tab>

  <Tab title="genius_workflow_run.failed">
    ```json JSON theme={null}
    {
    	"event":{
    		"id":"1562f78b-18fa-4d9f-a765-24e6dfba9794",
    		"type":"genius_workflow_run.failed",
    		"issued_at":"2022-12-19T08:08:18.521-08:00"
    	},
    	"data":{
    		"id":"3ceebcf1-e82f-4dfe-97da-69cd0678696d",
    		"kind":"incident",
    	    "status":"failed",
    		"status_message": null,
    		"user_id":3186,
    		"genius_workflow_id":"a1b76e56-e1ab-4b36-856f-b6481251c698",
    		"genius_workflow_name":"Send Email when incident starts",
    		"queued_at":"2022-12-19T08:08:17.890-08:00",
    		"started_at":"2022-12-19T08:08:17.908-08:00",
    		"completed_at":null,
    		"failed_at":"2022-12-19T08:08:18.498-08:00",
    		"canceled_at":null,
    		"triggered_by":"user",
    		"created_at":"2022-12-19T08:08:17.890-08:00",
    		"updated_at":"2022-12-19T08:08:18.498-08:00",
    		"incident_id":"5c80f5a1-9389-4970-bb49-8268acf2954f",
    		"incident_action_item_id":null,
    		"incident_post_mortem_id":null,
    		"alert_id":null,
    		"pulse_id":null
    	}
    }
    ```
  </Tab>

  <Tab title="genius_workflow_run.canceled">
    ```json JSON theme={null}
    {
    	"event":{
    		"id":"4b3d9e46-1a59-44a7-914d-b1758216b8d5",
    		"type":"genius_workflow_run.canceled",
    		"issued_at":"2022-12-19T11:09:16.508-05:00"
    	},
    	"data":{
    		"id":"e9269feb-1f2b-4d35-9181-f6842361ec62",
            "kind":"incident",
    	    "status":"canceled",
    		"status_message": null,
    		"user_id":3186,
    		"genius_workflow_id":"554f0a33-c05b-4352-87d4-1ec0332431bd",
    		"genius_workflow_name":"Send Email when incident starts",
    	    "queued_at":"2022-12-19T11:02:04.659-05:00",
    		"started_at":null,
    		"completed_at":null,
    		"failed_at":null,
    	    "canceled_at":"2022-12-19T11:09:16.480-05:00",
    		"triggered_by":"system",
    		"created_at":"2022-12-19T11:02:04.659-05:00",
    		"updated_at":"2022-12-19T11:09:16.480-05:00",
    	    "incident_id":"5c80f5a1-9389-4970-bb49-8268acf2954f",
    	    "incident_action_item_id":null,
    		"incident_post_mortem_id":null,
    	    "alert_id":null,
    		"pulse_id":null
    	}
    }
    ```
  </Tab>
</Tabs>

***

## incident.\*

```json JSON theme={null}
{
  "event": {
    "id": "9839c4ca-5e7b-416d-ad95-d09ae0c8eead",
    "type": "incident.created",
    "issued_at": "2022-11-27T19:44:33.633-08:00",
  },
  "data": {
    "id": "b7eed587-50e6-44fe-b010-7a2bb05d737a",
    "sequential_id": 19,
    "title": "Sparkling Frost",
    "slug": "sparkling-frost",
    "kind": "normal",
    "private": false,
    "summary": null,
    "status": "started",
    "url": "http://localhost:3000/account/incidents/19-sparkling-frost",
    "short_url": null,
    "mitigation_message": null,
    "resolution_message": null,
    "cancellation_message": null,
    "public_title": null,
    "zoom_meeting_id": null,
    "zoom_meeting_start_url": null,
    "zoom_meeting_join_url": null,
    "shortcut_story_id": null,
    "shortcut_story_url": null,
    "shortcut_task_id": null,
    "shortcut_task_url": null,
    "asana_task_id": null,
    "asana_task_url": null,
    "github_issue_id": null,
    "github_issue_url": null,
    "jira_issue_id": null,
    "jira_issue_url": null,
    "google_meeting_id": null,
    "google_meeting_url": null,
    "trello_card_id": null,
    "trello_card_url": null,
    "linear_issue_id": null,
    "linear_issue_url": null,
    "zendesk_ticket_id": null,
    "zendesk_ticket_url": null,
    "slack_channel_name": null,
    "slack_channel_id": null,
    "slack_channel_url": null,
    "slack_channel_short_url": null,
    "service_now_incident_id": null,
    "service_now_incident_key": null,
    "service_now_incident_url": null,
    "opsgenie_incident_id": null,
    "opsgenie_incident_url": null,
    "opsgenie_alert_id": null,
    "opsgenie_alert_url": null,
    "victor_ops_incident_id": null,
    "victor_ops_incident_url": null,
    "pagerduty_incident_id": null,
    "pagerduty_incident_url": null,
    "mattermost_channel_id": null,
    "mattermost_channel_name": null,
    "mattermost_channel_url": null,
    "confluence_page_id": null,
    "confluence_page_url": null,
    "quip_page_id": null,
    "quip_page_url": null,
    "airtable_base_key": null,
    "airtable_table_name": null,
    "airtable_record_id": null,
    "airtable_record_url": null,
    "google_drive_id": null,
    "google_drive_url": null,
    "datadog_notebook_id": null,
    "datadog_notebook_url": null,
    "freshservice_ticket_id": null,
    "freshservice_ticket_url": null,
    "freshservice_task_id": null,
    "freshservice_task_url": null,
    "started_at": "2022-11-27T19:36:00.000-08:00",
    "detected_at": null,
    "acknowledged_at": null,
    "mitigated_at": null,
    "resolved_at": null,
    "cancelled_at": null,
    "created_at": "2022-11-27T19:36:49.779-08:00",
    "updated_at": "2022-11-27T19:36:49.779-08:00",
    "labels": {
    },
    "severity": null,
    "user": {
      "id": 7,
      "name": "John Doe",
      "email": "demo@rootly.com",
      "full_name": "John Doe",
      "full_name_with_team": "[rootly.com] John Doe",
      "slack_id": null
    },
    "started_by": {
      "id": 7,
      "name": "John Doe",
      "email": "demo@rootly.com",
      "full_name": "John Doe",
      "full_name_with_team": "[rootly.com] John Doe",
      "slack_id": null
    },
    "mitigated_by": null,
    "resolved_by": null,
    "cancelled_by": null,
    "roles": [
      {
        "id": "e5c83728-78b9-495f-bdc5-55b3db047339"
      },
      {
        "id": "45602201-6cb9-4567-abd6-293096d880ef"
      }
    ],
    "environments": [

    ],
    "incident_types": [

    ],
    "services": [

    ],
    "functionalities": [

    ],
    "groups": [

    ],
    "events": [
      {
        "id": "01608451-5926-41ea-88b0-5af2f3cf5f79",
        "event": "John Doe created this incident",
        "event_raw": "John Doe created this incident",
        "kind": "event",
        "source": "web",
        "visibility": "external",
        "occurred_at": "2022-11-27T19:36:49.779-08:00",
        "created_at": "2022-11-27T19:36:49.779-08:00",
        "updated_at": "2022-11-27T19:36:49.884-08:00"
      },
      {
        "id": "42a1a95d-5ae2-4b74-a8dd-af675311769a",
        "event": "Started date has been set to <span class=\"badge badge-info-inverted\">November 27  7:36 PM PST</span>",
        "event_raw": "Started date has been set to November 27 7:36 PM PST",
        "kind": "trail",
        "source": "web",
        "visibility": "internal",
        "occurred_at": "2022-11-27T19:36:49.955-08:00",
        "created_at": "2022-11-27T19:36:49.955-08:00",
        "updated_at": "2022-11-27T19:36:49.955-08:00"
      }
    ],
    "action_items": [
      {
        "id": "a3121c52-39a8-4ba4-aef4-e33e6c6bcbdc",
        "incident_id": "b7eed587-50e6-44fe-b010-7a2bb05d737a",
        "description": null,
        "summary": "Tasks can be customized in Rootly",
        "kind": "task",
        "priority": "medium",
        "status": "open",
        "due_date": null,
        "jira_issue_id": null,
        "jira_issue_url": null,
        "asana_task_id": null,
        "asana_task_url": null,
        "github_issue_id": null,
        "github_issue_url": null,
        "shortcut_story_id": null,
        "shortcut_story_url": null,
        "shortcut_task_id": null,
        "shortcut_task_url": null,
        "trello_card_id": null,
        "trello_card_url": null,
        "linear_issue_id": null,
        "linear_issue_url": null,
        "zendesk_ticket_id": null,
        "zendesk_ticket_url": null,
        "airtable_base_key": null,
        "airtable_table_name": null,
        "airtable_record_id": null,
        "airtable_record_url": null,
        "freshservice_ticket_id": null,
        "freshservice_ticket_url": null,
        "freshservice_task_id": null,
        "freshservice_task_url": null,
        "created_at": "2022-11-27T19:15:07.651-08:00",
        "updated_at": "2022-11-27T19:15:07.651-08:00"
      },
      {
        "id": "70ef7704-aecb-401a-833d-edaf8aaa9d86",
        "incident_id": "b7eed587-50e6-44fe-b010-7a2bb05d737a",
        "description": null,
        "summary": "Update `/incident summary`",
        "kind": "task",
        "priority": "medium",
        "status": "open",
        "due_date": null,
        "jira_issue_id": null,
        "jira_issue_url": null,
        "asana_task_id": null,
        "asana_task_url": null,
        "github_issue_id": null,
        "github_issue_url": null,
        "shortcut_story_id": null,
        "shortcut_story_url": null,
        "shortcut_task_id": null,
        "shortcut_task_url": null,
        "trello_card_id": null,
        "trello_card_url": null,
        "linear_issue_id": null,
        "linear_issue_url": null,
        "zendesk_ticket_id": null,
        "zendesk_ticket_url": null,
        "airtable_base_key": null,
        "airtable_table_name": null,
        "airtable_record_id": null,
        "airtable_record_url": null,
        "freshservice_ticket_id": null,
        "freshservice_ticket_url": null,
        "freshservice_task_id": null,
        "freshservice_task_url": null,
        "created_at": "2022-11-27T19:15:07.626-08:00",
        "updated_at": "2022-11-27T19:15:07.651-08:00"
      },
      {
        "id": "368921f4-419c-4df3-92a2-006c3882dc70",
        "incident_id": "b7eed587-50e6-44fe-b010-7a2bb05d737a",
        "description": null,
        "summary": "Ensure roles are assigned",
        "kind": "task",
        "priority": "medium",
        "status": "open",
        "due_date": null,
        "jira_issue_id": null,
        "jira_issue_url": null,
        "asana_task_id": null,
        "asana_task_url": null,
        "github_issue_id": null,
        "github_issue_url": null,
        "shortcut_story_id": null,
        "shortcut_story_url": null,
        "shortcut_task_id": null,
        "shortcut_task_url": null,
        "trello_card_id": null,
        "trello_card_url": null,
        "linear_issue_id": null,
        "linear_issue_url": null,
        "zendesk_ticket_id": null,
        "zendesk_ticket_url": null,
        "airtable_base_key": null,
        "airtable_table_name": null,
        "airtable_record_id": null,
        "airtable_record_url": null,
        "freshservice_ticket_id": null,
        "freshservice_ticket_url": null,
        "freshservice_task_id": null,
        "freshservice_task_url": null,
        "created_at": "2022-11-27T19:15:07.601-08:00",
        "updated_at": "2022-11-27T19:15:07.651-08:00"
      }
    ],
    "form_field_selections": [

    ],
    "feedbacks": [

    ],
    "incident_post_mortem": null
  }
}
```

<Note>
  When [custom fields on action items](/incidents/action-items/action-item-custom-fields) are enabled for your team, each action item in the `action_items` array carries a `custom_field_selections` array for the fields placed on its form. Each entry looks like:

  ```json JSON theme={null}
  "custom_field_selections": [
    {
      "id": "b1e0c1a2-9f3c-4a7e-8d21-4f2a6b7c8d90",
      "value": "Payments",
      "form_field": {
        "id": "9f3c4a7e-8d21-4f2a-6b7c-8d90b1e0c1a2",
        "name": "Business Unit",
        "slug": "business-unit"
      },
      "selected_options": [],
      "selected_users": [],
      "selected_groups": [],
      "selected_services": [],
      "selected_functionalities": [],
      "selected_catalog_entities": [],
      "selected_environments": [],
      "selected_causes": [],
      "selected_incident_types": []
    }
  ]
  ```

  Free-text, number, and date fields populate `value`; reference-type fields (user, team, service, catalog entity, environment, cause, incident type) populate the matching `selected_*` array instead.
</Note>

***

## incident\_post\_mortem.\*

```json JSON theme={null}
{
  "event": {
    "id": "9839c4ca-5e7b-416d-ad95-d09ae0c8eead",
    "type": "incident_post_mortem.created",
    "issued_at": "2022-11-27T19:36:00.000-08:00",
  },
  "data": {
    "id": "2c7497e5-5d15-4fa4-aeac-cac063aafe19",
    "incident_id": "b7eed587-50e6-44fe-b010-7a2bb05d737a",
    "title": "Sparkling Frost",
    "status": "draft",
    "url": "http://rootly.com/account/incidents/19-sparkling-frost/postmortem_url",
    "short_url": null,
    "content": "<h1>{{incident.created_at | date: \"%Y-%m-%d\"}} - {{incident.title}}</h1>\n<h1><strong>Leadup</strong></h1>\n<br><span style=\"color: #7a869a\">Describe the circumstances that led to this incident</span><br><br>\n<h1><strong>Fault</strong></h1>\n<br><span style=\"color: #7a869a\">Describe what failed to work as expected</span><br><br>\n<h1><strong>Detection</strong></h1>\n<br><span style=\"color: #7a869a\">Describe how the incident was detected</span><br><br>\n<h1><strong>Root causes</strong></h1>\n<br><span style=\"color: #7a869a\">Run a 5-whys analysis to understand the true causes of the incident</span><br><br>\n<h1><strong>Mitigation and resolution</strong></h1>\n<br><span style=\"color: #7a869a\">What steps did you take to resolve this incident?</span><br><br>\n<h1><strong>Lessons learnt</strong></h1>\n<br><span style=\"color: #7a869a\">What went well? What could have gone better? What else did you learn?</span><br><br>",
    "published_at": null,
    "started_at": "2022-11-27T19:36:00.000-08:00",
    "mitigated_at": "2022-11-27T19:44:32.156-08:00",
    "resolved_at": "2022-11-27T19:44:32.156-08:00",
    "cancelled_at": null,
    "show_timeline": true,
    "show_timeline_starred_only": false,
    "show_timeline_genius": true,
    "show_timeline_trail": true,
    "show_timeline_tasks": true,
    "show_timeline_action_items": true,
    "show_functionalities_impacted": true,
    "show_services_impacted": true,
    "show_groups_impacted": true,
    "show_action_items": true,
    "created_at": "2022-11-27T19:36:49.779-08:00",
    "updated_at": "2022-11-27T19:44:32.177-08:00"
  }
}
```

***

## pulse.\*

```json JSON theme={null}
{
  "event": {
    "id": "9839c4ca-5e7b-416d-ad95-d09ae0c8eead",
    "type": "pulse.created",
    "issued_at": "2022-11-27T19:15:30.995-08:00",
  },
  "data": {
    "id": "aa1cab03-00e7-4578-b1ae-72ad9ae417c6",
    "team_id": 1,
    "pulse_trail_id": "b59bfcb7-89ed-4641-b288-5ce1bb3dd801",
    "summary": "Deployed to Kubernetes",
    "labels": [
      {
        "key": "label1",
        "value": "value1"
      },
      {
        "key": "label2",
        "value": "value2"
      }
    ],
    "data": {
      "hello": "world"
    },
    "external_id": null,
    "started_at": "2022-11-27T19:15:30.995-08:00",
    "ended_at": null,
    "deleted_at": null,
    "created_at": "2022-11-27T19:15:30.995-08:00",
    "updated_at": "2022-11-27T19:15:30.995-08:00",
    "webhook_type": null,
    "webhook_id": null,
    "webhook_idempotency_key": null,
    "external_url": null,
    "source": "k8s",
    "refs": [
      {
        "key": "image",
        "value": "registry.rootly.com/rootly/my-service:cd6214"
      }
    ]
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.