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.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.
Many text fields support Liquid templating for dynamic values drawn from incident, alert, or on-call context. Selector fields (dropdowns, user pickers, etc.) do not accept Liquid.
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.
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 the currently on-call user (Rootly schedule) to the channel | escalation_target, channel |
| 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 |
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 |
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.
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 a message to the workflow run log for debugging | message |
HTTP Client and Redis Client are also available as utility-style actions — see Developer Tools above.