> ## 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.

# Workflow Actions Reference

> Complete reference for all 152 Rootly workflow action types grouped by category, including Slack, Google Chat, Jira, on-call, AI, integrations, and incident operations.

Workflow actions are the individual steps that execute when a workflow runs. Each action connects to a specific integration or Rootly capability. This page lists every available action grouped by category.

<Info>
  Many text fields support [Liquid templating](/liquid/liquid) for dynamic values drawn from incident, alert, or on-call context. Selector fields (dropdowns, user pickers, etc.) do not accept Liquid.
</Info>

<Note>
  Available actions depend on your enabled integrations and the workflow type (incident, alert, on-call, etc.). Actions for integrations that are not connected will not appear when building a workflow.
</Note>

<Tip>
  The **Key fields** column lists internal field names as they appear in the API and workflow schema. Labels in the UI may differ slightly (for example, `workspace` appears as **Workspace** in the form).
</Tip>

***

## Slack

| Action                                          | Description                                                                                                                          | Key fields                                                               |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| **Add Slack Bookmark**                          | Add a bookmark to the incident Slack channel                                                                                         | `channel`, `name`, `link`, `emoji`                                       |
| **Archive Slack Channel**                       | Archive the incident Slack channel                                                                                                   | `channels`, `name`                                                       |
| **Change Slack Channel Privacy**                | Change a Slack channel's privacy setting                                                                                             | `channel`, `privacy`                                                     |
| **Create Slack Channel**                        | Create a Slack channel for the incident                                                                                              | `name`, `private`, `workspace`                                           |
| **Invite Rootly On-Call to Slack Channel**      | Invite users to the channel based on a Rootly target — on-call from a schedule, escalation policy, service, team, or individual user | `channel`, `escalation_policy`, `service`, `team`, `user`, `schedule`    |
| **Invite On-Call to Slack Channel (PagerDuty)** | Invite the PagerDuty on-call user to the channel                                                                                     | `channel`, `escalation_policy`, `schedule`, `service`                    |
| **Invite On-Call to Slack Channel (Opsgenie)**  | Invite the Opsgenie on-call user to the channel                                                                                      | `channel`                                                                |
| **Invite On-Call to Slack Channel (VictorOps)** | Invite the VictorOps on-call user to the channel                                                                                     | `channel`                                                                |
| **Invite Users to Slack Channel**               | Invite specific users or user groups to a channel                                                                                    | `channel`, `slack_users`, `slack_user_groups`, `slack_emails`            |
| **Rename Slack Channel**                        | Rename a Slack channel                                                                                                               | `channel`, `title`                                                       |
| **Send Slack Blocks**                           | Send a rich interactive Block Kit message to a Slack channel                                                                         | `channels`, `blocks`, `attachments`, `broadcast_thread_reply_to_channel` |
| **Send Slack Message**                          | Send a plain or formatted message to a Slack channel                                                                                 | `channels`, `color`, `actionables`, `broadcast_thread_reply_to_channel`  |
| **Send Slack Reminder**                         | Send a recurring reminder with snooze and pause buttons                                                                              | `channels`, `message`, `interval`                                        |
| **Update Slack Channel Topic**                  | Update the topic of a Slack channel                                                                                                  | `channel`, `topic`                                                       |

***

## Microsoft Teams

| Action                                      | Description                                       | Key fields                                                                                |
| ------------------------------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| **Add Microsoft Teams Chat Tab**            | Add a tab to a Teams chat                         | `chat`, `title`, `link`                                                                   |
| **Add Microsoft Teams Tab**                 | Add a tab to the incident Teams channel           | `channel`, `title`, `link`                                                                |
| **Archive Microsoft Teams Channel**         | Archive the incident Teams channel                | `channels`, `team`                                                                        |
| **Create Microsoft Teams Channel**          | Create a Teams channel for the incident           | `name`, `title`, `team`                                                                   |
| **Create Microsoft Teams Chat**             | Create a Teams group or one-on-one chat           | `chat_type`, `members`, `topic`                                                           |
| **Create Microsoft Teams Meeting**          | Create a Teams meeting link                       | `record_meeting`, `recording_mode`, `post_to_incident_timeline`, `post_to_slack_channels` |
| **Invite Users to Microsoft Teams Channel** | Invite users to a private Teams channel           | `channel`, `team`, `emails`                                                               |
| **Rename Microsoft Teams Channel**          | Rename a Teams channel                            | `channel`, `team`, `title`                                                                |
| **Send Microsoft Teams Attachments**        | Send a rich attachment message to a Teams channel | `channels`, `attachments`                                                                 |
| **Send Microsoft Teams Chat Message**       | Send a message to a Teams chat                    | `chats`, `text`                                                                           |
| **Send Microsoft Teams Message**            | Send a message to a Teams channel                 | `channels`, `text`                                                                        |

***

## Google Chat

| Action                                   | Description                                     | Key fields                         |
| ---------------------------------------- | ----------------------------------------------- | ---------------------------------- |
| **Archive Google Chat Spaces**           | Delete incident Google Chat spaces              | `spaces`                           |
| **Change Google Chat Space Privacy**     | Switch a space between private and discoverable | `space`, `audience`                |
| **Create Google Chat Space**             | Create a dedicated space for the incident       | `title`, `description`, `audience` |
| **Invite to Google Chat Space**          | Invite users to a space by email                | `space`, `emails`                  |
| **Rename Google Chat Space**             | Rename a Google Chat space                      | `space`, `title`                   |
| **Send Google Chat Attachments**         | Send Cards v2 to Google Chat spaces             | `spaces`, `attachments`            |
| **Send Google Chat Message**             | Send a text message to Google Chat spaces       | `spaces`, `text`, `thread_key`     |
| **Update Google Chat Space Description** | Update a space's description                    | `space`, `description`             |

***

## Incident Management

| Action                               | Description                                          | Key fields                                                                          |
| ------------------------------------ | ---------------------------------------------------- | ----------------------------------------------------------------------------------- |
| **Add Action Item**                  | Create a task or follow-up on the incident           | `kind`, `summary`, `description`, `assignee`                                        |
| **Add Incident Role**                | Assign a user to an incident role                    | `role`, `user`                                                                      |
| **Add Team**                         | Set the team on the incident                         | `group_id`                                                                          |
| **Add to Timeline**                  | Add a custom event to the incident timeline          | `event`, `url`                                                                      |
| **Create Incident**                  | Create a new incident                                | `custom_fields_mapping`                                                             |
| **Create Incident Retrospective**    | Create a Rootly retrospective for the incident       | `incident_id`                                                                       |
| **Create Sub Incident**              | Create a sub-incident linked to the current incident | `incident_id`, `sync_info`                                                          |
| **Create ServiceNow Incident**       | Create a ServiceNow ticket for the incident          | `description`, `status`, `custom_fields_mapping`, `acts_as_user`                    |
| **Update Action Item**               | Update an existing action item                       | `kind`, `summary`, `description`, `attribute_to_query_by`                           |
| **Update Incident**                  | Update fields on the incident                        | `custom_fields_mapping`, `attribute_to_query_by`, `acknowledged_at`, `mitigated_at` |
| **Update Incident Retrospective**    | Update the incident's retrospective                  | `postmortem_id`                                                                     |
| **Update Incident Status**           | Update incident status after a period of inactivity  | `inactivity_timeout`, `message`                                                     |
| **Update Incident Status Timestamp** | Update a lifecycle timestamp on the incident         | `status`, `timestamp`                                                               |
| **Update ServiceNow Incident**       | Update an existing ServiceNow ticket                 | `incident_id`, `description`, `status`, `custom_fields_mapping`, `acts_as_user`     |

***

## On-Call & Paging

| Action                              | Description                                               | Key fields                                                                                 |
| ----------------------------------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| **Auto Assign Role (Rootly)**       | Assign an incident role from a Rootly on-call rotation    | `escalation_target`, `incident_role_id`                                                    |
| **Auto Assign Role (PagerDuty)**    | Assign an incident role from a PagerDuty on-call rotation | `incident_role_id`, `escalation_policy`, `schedule`, `service`                             |
| **Auto Assign Role (Opsgenie)**     | Assign an incident role from an Opsgenie on-call rotation | `incident_role_id`                                                                         |
| **Auto Assign Role (VictorOps)**    | Assign an incident role from a VictorOps on-call rotation | `incident_role_id`                                                                         |
| **Page Rootly On-Call**             | Page a Rootly on-call escalation target                   | `escalation_target`, `title`, `description`                                                |
| **Page PagerDuty On-Call**          | Page a PagerDuty on-call rotation                         | `service`, `escalation_policies`, `message`, `priority`, `create_new_incident_on_conflict` |
| **Page Opsgenie On-Call**           | Page an Opsgenie on-call rotation                         | `title`, `message`, `description`                                                          |
| **Page VictorOps On-Call**          | Page a VictorOps on-call rotation                         | `title`                                                                                    |
| **Page JSM Ops On-Call**            | Page a Jira Service Management on-call rotation           | `title`, `message`, `description`                                                          |
| **Create PagerTree Incident**       | Create a PagerTree incident to trigger paging             | `title`, `description`                                                                     |
| **Create PagerDuty Status Update**  | Post a status update to an existing PagerDuty incident    | `pagerduty_incident_id`, `message`                                                         |
| **Update PagerDuty Incident**       | Update an existing PagerDuty incident                     | `pagerduty_incident_id`, `title`, `priority`, `resolution`                                 |
| **Update PagerTree Incident**       | Update an existing PagerTree incident                     | `pagertree_alert_id`                                                                       |
| **Publish Incident to Status Page** | Publish the incident to a status page                     | `status_page`, `status_page_template`, `public_title`, `status`, `event`                   |

***

## Project Management

| Action                          | Description                                     | Key fields                                                                                                 |
| ------------------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| **Create Jira Issue**           | Create a Jira ticket for the incident           | `project`, `issue_type`, `description`, `labels`, `due_date`, `assign_user_email`, `custom_fields_mapping` |
| **Create Jira Subtask**         | Create a subtask under an existing Jira ticket  | `parent_issue_id`, `description`, `labels`, `due_date`, `assign_user_email`, `custom_fields_mapping`       |
| **Update Jira Issue**           | Update an existing Jira ticket                  | `issue_id`, `description`, `labels`, `due_date`, `assign_user_email`, `custom_fields_mapping`              |
| **Create Linear Issue**         | Create a Linear issue for the incident          | `title`, `description`, `priority`, `assign_user_email`                                                    |
| **Create Linear Subtask**       | Create a subtask under an existing Linear issue | `parent_issue_id`, `title`, `description`, `priority`, `assign_user_email`                                 |
| **Create Linear Issue Comment** | Add a comment to a Linear issue                 | `issue_id`, `body`                                                                                         |
| **Update Linear Issue**         | Update an existing Linear issue                 | `issue_id`, `description`, `priority`, `assign_user_email`                                                 |
| **Create Asana Task**           | Create an Asana task for the incident           | `due_date`, `labels`, `assign_user_email`, `custom_fields_mapping`                                         |
| **Create Asana Subtask**        | Create a subtask under an existing Asana task   | `parent_task_id`, `due_date`, `assign_user_email`, `custom_fields_mapping`                                 |
| **Update Asana Task**           | Update an existing Asana task                   | `task_id`, `due_date`, `completion`, `assign_user_email`, `custom_fields_mapping`                          |
| **Create ClickUp Task**         | Create a ClickUp task for the incident          | `description`, `due_date`, `tags`, `parent_task_id`, `custom_fields_mapping`                               |
| **Update ClickUp Task**         | Update an existing ClickUp task                 | `task_id`, `description`, `due_date`, `completion`, `custom_fields_mapping`                                |
| **Create Shortcut Story**       | Create a Shortcut story for the incident        | `description`, `due_date`, `labels`, `group`                                                               |
| **Create Shortcut Task**        | Create a task under an existing Shortcut story  | `parent_story_id`, `description`                                                                           |
| **Update Shortcut Story**       | Update an existing Shortcut story               | `story_id`, `description`, `due_date`, `labels`                                                            |
| **Update Shortcut Task**        | Update an existing Shortcut task                | `task_id`, `parent_story_id`, `description`, `completion`                                                  |
| **Create Trello Card**          | Create a Trello card for the incident           | `board`, `list`, `description`, `due_date`                                                                 |
| **Update Trello Card**          | Update an existing Trello card                  | `card_id`, `board`, `list`, `description`, `due_date`                                                      |
| **Create Motion Task**          | Create a Motion task for the incident           | `description`, `due_date`, `duration`, `labels`                                                            |
| **Update Motion Task**          | Update an existing Motion task                  | `task_id`, `description`, `due_date`, `duration`, `labels`                                                 |

***

## Docs & Pages

| Action                            | Description                                            | Key fields                                                                    |
| --------------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------- |
| **Create Confluence Page**        | Create a Confluence page from a retrospective template | `title`, `content`, `template`, `post_mortem_template_id`                     |
| **Update Confluence Page**        | Update an existing Confluence page                     | `file_id`, `content`, `template`, `post_mortem_template_id`                   |
| **Create Coda Page**              | Create a Coda page from a retrospective template       | `doc`, `folder_id`, `content`, `format`, `post_mortem_template_id`            |
| **Update Coda Page**              | Update an existing Coda page                           | `doc_id`, `page_id`, `content`, `format`, `post_mortem_template_id`           |
| **Create Datadog Notebook**       | Create a Datadog notebook for the incident             | `content`, `kind`, `template`, `post_mortem_template_id`                      |
| **Update Datadog Notebook**       | Update an existing Datadog notebook                    | `file_id`, `content`, `kind`, `post_mortem_template_id`                       |
| **Create Dropbox Paper**          | Create a Dropbox Paper document from a template        | `parent_folder`, `permissions`, `content`, `post_mortem_template_id`          |
| **Update Dropbox Paper**          | Update an existing Dropbox Paper document              | `file_id`, `title`, `content`, `post_mortem_template_id`                      |
| **Create Google Doc**             | Create a Google Doc from a retrospective template      | `drive`, `parent_folder`, `permissions`, `content`, `post_mortem_template_id` |
| **Update Google Doc**             | Update an existing Google Doc                          | `file_id`, `content`, `template_id`, `post_mortem_template_id`                |
| **Create Google Doc Permissions** | Grant users access to a Google Doc                     | `file_id`, `permissions`                                                      |
| **Remove Google Doc Permissions** | Revoke user access to a Google Doc                     | `file_id`, `attribute_to_query_by`                                            |
| **Create Notion Page**            | Create a Notion page for the incident                  | `title`, `show_action_items_as_table`, `show_timeline_as_table`               |
| **Update Notion Page**            | Update an existing Notion page                         | `file_id`, `title`, `show_action_items_as_table`, `show_timeline_as_table`    |
| **Create Quip Page**              | Create a Quip page from a template                     | `parent_folder_id`, `content`, `template_id`, `post_mortem_template_id`       |
| **Update Quip Page**              | Update an existing Quip page                           | `file_id`, `content`, `template_id`, `post_mortem_template_id`                |
| **Create SharePoint Page**        | Create a SharePoint document from a template           | `site`, `drive`, `parent_folder`, `content`, `post_mortem_template_id`        |
| **Update SharePoint Page**        | Update an existing SharePoint document                 | `file_id`, `title`, `content`, `post_mortem_template_id`                      |

***

## Developer Tools

| Action                         | Description                                      | Key fields                                                            |
| ------------------------------ | ------------------------------------------------ | --------------------------------------------------------------------- |
| **Create GitHub Issue**        | Create a GitHub issue for the incident           | `repository`, `issue_type`, `body`, `labels`, `parent_issue_number`   |
| **Update GitHub Issue**        | Update an existing GitHub issue                  | `issue_id`, `body`, `labels`, `labels_mode`, `issue_type`             |
| **Get GitHub Commits**         | Retrieve recent commits from a GitHub repository | `github_repository_names`, `branch`, `service_ids`, `past_duration`   |
| **Create GitLab Issue**        | Create a GitLab issue for the incident           | `repository`, `issue_type`, `body`, `labels`, `due_date`              |
| **Update GitLab Issue**        | Update an existing GitLab issue                  | `issue_id`, `description`, `labels`, `due_date`, `issue_type`         |
| **Get GitLab Commits**         | Retrieve recent commits from a GitLab repository | `gitlab_repository_names`, `branch`, `service_ids`, `past_duration`   |
| **Create Zendesk Ticket**      | Create a Zendesk ticket for the incident         | `subject`, `comment`, `tags`, `custom_fields_mapping`                 |
| **Update Zendesk Ticket**      | Update an existing Zendesk ticket                | `ticket_id`, `subject`, `tags`, `completion`, `custom_fields_mapping` |
| **Create Zendesk Jira Link**   | Link a Zendesk ticket to a Jira issue            | `zendesk_ticket_id`, `jira_issue_id`, `jira_issue_key`                |
| **Create FreshService Ticket** | Create a FreshService ticket for the incident    | `subject`, `description`, `priority`, `status`, `request_user_email`  |
| **Update FreshService Ticket** | Update an existing FreshService ticket           | `subject`, `description`, `priority`, `status`, `tags`                |
| **Create FreshService Task**   | Create a task under a FreshService ticket        | `parent_ticket_id`, `title`, `description`, `priority`, `status`      |
| **Update FreshService Task**   | Update an existing FreshService task             | `task_id`, `parent_ticket_id`, `description`, `priority`, `status`    |
| **Create Airtable Record**     | Create an Airtable record for the incident       | `custom_fields_mapping`                                               |
| **Update Airtable Record**     | Update an existing Airtable record               | `record_id`, `base_key`, `table_name`, `custom_fields_mapping`        |
| **Run Heroku Command**         | Execute a command in a Heroku app                | `post_to_incident_timeline`, `post_to_slack_channels`                 |
| **HTTP Client**                | Make an outbound HTTP request to any REST API    | `method`, `url`, `headers`, `body`, `event_url`, `event_message`      |
| **Redis Client**               | Execute commands against a Redis instance        | `commands`, `post_to_incident_timeline`                               |

***

## Observability

| Action                         | Description                                                      | Key fields                                                            |
| ------------------------------ | ---------------------------------------------------------------- | --------------------------------------------------------------------- |
| **Snapshot Datadog Graph**     | Post a Datadog graph to the incident timeline                    | `post_to_incident_timeline`, `post_to_slack_channels`                 |
| **Attach Datadog Dashboards**  | Post a Datadog dashboard link to the timeline                    | `post_to_incident_timeline`, `post_to_slack_channels`                 |
| **Snapshot Grafana Dashboard** | Post a Grafana dashboard snapshot to the timeline                | `post_to_incident_timeline`, `post_to_slack_channels`                 |
| **Snapshot Grafana Panel**     | Post a specific Grafana panel to the timeline                    | `post_to_incident_timeline`, `post_to_slack_channels`                 |
| **Snapshot Looker Graph**      | Post a Looker graph to the incident timeline                     | `post_to_incident_timeline`, `post_to_slack_channels`                 |
| **Snapshot New Relic Graph**   | Post a New Relic graph to the incident timeline                  | `metric_query`, `post_to_incident_timeline`, `post_to_slack_channels` |
| **Get Alerts**                 | Retrieve alerts matching a filter for use in subsequent actions  | `sources`, `environment_ids`, `labels`, `past_duration`               |
| **Get Pulses**                 | Retrieve deploys and changes matching a filter                   | `sources`, `environment_ids`, `labels`, `past_duration`               |
| **Update Attached Alerts**     | Update the status or position of alerts attached to the incident | `status`, `position`, `created_at`                                    |
| **Create Opsgenie Alert**      | Create an alert in Opsgenie                                      | `description`, `details`                                              |
| **Update Opsgenie Alert**      | Update an existing Opsgenie alert                                | `alert_id`                                                            |
| **Update Opsgenie Incident**   | Update an existing Opsgenie incident                             | `opsgenie_incident_id`                                                |
| **Create JSM Alert**           | Create an alert in Jira Service Management                       | `description`, `details`                                              |
| **Update VictorOps Incident**  | Update an existing VictorOps incident                            | `victor_ops_incident_id`, `resolution_message`                        |
| **Send Dashboard Report**      | Send a dashboard snapshot report via email                       | `dashboard_ids`, `from`, `cc`, `bcc`, `body`                          |

***

## Meetings & Calendar

| Action                           | Description                              | Key fields                                                                                             |
| -------------------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Create Google Meet**           | Create a Google Meet link                | `record_meeting`, `post_to_incident_timeline`, `post_to_slack_channels`                                |
| **Create Zoom Meeting**          | Create a Zoom meeting link               | `password`, `record_meeting`, `create_as_email`, `post_to_incident_timeline`, `post_to_slack_channels` |
| **Create Webex Meeting**         | Create a Webex meeting link              | `password`, `record_meeting`, `recording_mode`, `post_to_incident_timeline`, `post_to_slack_channels`  |
| **Create GoToMeeting**           | Create a GoToMeeting link                | `subject`, `post_to_incident_timeline`, `post_to_slack_channels`                                       |
| **Create Google Calendar Event** | Schedule a meeting on Google Calendar    | `calendar_id`, `attendees`, `description`, `conference_solution_key`, `exclude_weekends`               |
| **Update Google Calendar Event** | Update an existing Google Calendar event | `event_id`, `attendees`, `conference_solution_key`, `exclude_weekends`                                 |
| **Create Outlook Event**         | Schedule a meeting on Outlook Calendar   | `calendar`, `attendees`, `description`, `enable_online_meeting`, `exclude_weekends`                    |

***

## Notifications

| Action                    | Description                               | Key fields                                                            |
| ------------------------- | ----------------------------------------- | --------------------------------------------------------------------- |
| **Send Email**            | Send an email to any address              | `from`, `to`, `cc`, `bcc`, `body`, `include_header`, `include_footer` |
| **Send SMS**              | Send an SMS to a phone number             | `phone_numbers`, `content`                                            |
| **Send WhatsApp Message** | Send a WhatsApp message to a phone number | `phone_numbers`, `content`                                            |
| **Call People**           | Make outbound phone calls                 | `phone_numbers`, `content`                                            |
| **Send Tweet**            | Post a tweet on Twitter / X               | `message`                                                             |

***

## AI

| Action                        | Description                                                                  | Key fields                                       |
| ----------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------ |
| **OpenAI Chat Completion**    | Send a prompt to OpenAI and use the response in subsequent actions           | `model`, `prompt`, `system_prompt`               |
| **Anthropic Chat Completion** | Send a prompt to Anthropic Claude and use the response in subsequent actions | `model`, `prompt`, `system_prompt`               |
| **Gemini Chat Completion**    | Send a prompt to Google Gemini and use the response in subsequent actions    | `model`, `prompt`, `system_prompt`               |
| **Mistral Chat Completion**   | Send a prompt to Mistral AI and use the response in subsequent actions       | `model`, `prompt`, `system_prompt`, `max_tokens` |

<Note>
  AI actions require the corresponding LLM integration to be configured in **Settings → Integrations**. The response from any AI action can be referenced in downstream actions using Liquid variables.
</Note>

***

## Utility

| Action               | Description                                           | Key fields                                                                   |
| -------------------- | ----------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Trigger Workflow** | Trigger another workflow from the current one         | `kind`, `check_workflow_conditions`, `attribute_to_query_by`, `match_header` |
| **Print**            | Print a message to the workflow run log for debugging | `message`                                                                    |

<Info>
  **HTTP Client** and **Redis Client** are also available as utility-style actions — see [Developer Tools](#developer-tools) above.
</Info>
