Action builder provides an easy way to integrate Zendesk with external systems through action flows. This is accomplished by connecting to external systems and adding actions specific to those connected systems to your action flow. The steps associated with external systems are referred to collectively as external actions.
By connecting to these external systems, admins can automate workflows, improve collaboration, and maintain a seamless experience across multiple platforms. For example, you can define action flows that create a Jira issue based on a Zendesk ticket or create a Jira issue and then notify a Slack channel and update a Zendesk ticket with a link to the Jira issue.
Additionally, while many actions for the supported external systems have been pre-defined, admins can also create custom actions to define other external system tasks you want to include in your action flows.
Best practices for connecting to external systems
- All external actions performed by an action flow are attributed to the user who connected the external system. Therefore, it is a best practice to use a dedicated service account rather than personal credentials when connecting to each external system.
- All integrations request access to necessary scopes. However, it's important that you review and validate the scopes before authorizing the connection to the external system.
- When managing credentials for API key-based tools, such as OpenAI, it's best to store keys in a secure vault or credential manager.
Connecting to an external system
- Confluence
- Google Sheets
- Jira
- Microsoft Excel
- Microsoft Outlook
- Microsoft Teams
- OpenAI
- Salesforce
- Shopify
- Slack
- In Admin Center, click
Apps and integrations in the sidebar, then select Actions > Action flows.
- Create or edit an action flow.
- Open the step sidebar.
- Under External actions, click the external system you want to connect to.
- Click Connect.
- Follow the external system's prompts to authenticate and complete the
connection.Note: All external actions performed by an action flow are attributed to the user who connected the external system. Therefore, it is a best practice to use a dedicated service account rather than personal credentials when connecting to each external system.
Note the following details about authenticating with the external systems:
- Confluence: Use Atlassian to authenticate the account.
- Google Sheets: Use Google to authenticate the account. You'll log into a Google Workspace or Gmail account, and admin approval might be required in managed environments.
- Jira: When connecting to Atlassian Confluence, you must use the Atlassian sign-in system to authenticate the account.
-
Microsoft Excel: Use Microsoft to authenticate the account.
Depending on your organization's policies, you might need to
authorize device or app access.Note: To ensure the connection is successful, you must have a Microsoft tenant admin add the connector first.
- Microsoft Outlook: Use Microsoft to authenticate the account. Ensure the account used for authentication has the necessary permissions to send and read emails.
- Microsoft Teams: Use Microsoft to authenticate the account. You must use a service account when connecting to Microsoft Teams because it uses User Scopes. Authenticating with a personal account won't work properly.
- OpenAI: Use an API key to authenticate the account. The connection isn't confirmed until you test or use an action flow with OpenAI steps.
- Salesforce: Use Salesforce to authenticate the account.
- Shopify: Use the Shopify OAuth system to authenticate the account.
-
Slack: Use Slack to authenticate the account. To complete
authentication, you must invite the Zendesk connector
app:
/invite @Zendesk Connector
After you've connected to the system, you'll see an indicator that it's connected and details about the instance you're connected to, as well as the actions available for the connected system.
Understanding what external actions are available
- Using Confluence actions
- Using Google Sheets actions
- Using Jira actions
- Using Microsoft Excel actions
- Using Microsoft Outlook actions
- Using Microsoft Teams actions
- Using OpenAI actions
- Using Salesforce actions
- Using Shopify actions
- Using Slack actions
Using Confluence actions
Confluence action steps can be used to create, update, and add comments to Confluence pages.
-
Create page: Creates a new Confluence page with the specified
title and text-based content.
Variables Inputs space_id
,title
,value
Output Full metadata -
Update page: Updates an existing Confluence page with specified
text-based changes.
Variables Inputs space_id
,title
,value
Output Full metadata -
Create footer comment: Adds a comment to an existing Confluence page.
Variables Inputs page_id
,value
Output id
,status
-
Search for a page: Search for a Confluence page by its title.
Variables Inputs title
Output id
,title
Using Google Sheets actions
Google Sheets action steps can be used to create spreadsheets and add data to a sheet created within the action flow, such as an AI-generated ticket summary, which can then be shared with other users.
-
Create spreadsheet: Creates a spreadsheet.
Variables Inputs spreadsheet_title
Output spreadsheet_id
,sheet_title
, -
Create a new sheet: Adds a sheet to a spreadsheet. Includes the
option to specify column headings and an initial row of data.
Variables Inputs spreadsheet_id
,sheet_title
Output spreadsheet_id
,sheet_title
-
Append row: Adds a row to a sheet previously created
within the action flow.
Variables Inputs spreadsheet_id
,sheet_title
,values
Output spreadsheet_id
,sheet_title
,values
Using Jira actions
Jira action steps can be used to automatically create and update Jira issues based on tickets. For example, you could automatically create Jira issues for bugs reported in Zendesk tickets, check a Jira issue's status before closing a Zendesk ticket, update Jira issue assignment based on ticket assignment, or move a Jira issue from one status to another when a ticket is being worked.
-
Create issue: Creates a new issue in the connected Jira project.
Variables Inputs project_id
,summary
,issue_type_id
,assignee_id
,priority_id
,description
,labels
Output id
,key
,self
-
Get issue: Retrieves details about an issue.
Variables Inputs issue_id
orissue_key
Output Full issue metadata -
Edit issue: Update a Jira issue's details, including
summary, assignee, and description.
Variables Inputs project_id
,summary
,issue_type_id
,assignee_id
,priority_id
,description
,labels
Output id
,key
,self
-
Transition issue: Changes a Jira issue's workflow
status. For example, "In progress" when work begins.
Variables Inputs issue_id
orissue_key
,transition_id
Output none
Using Microsoft Excel actions
Microsoft Excel action steps can be used to create and update Excel workbooks and worksheets as well as reading data from them.
-
Create workbook: Creates a new Excel workbook with a specified name.
Variables Inputs workbook_name
Output created_date_time
,http_status_code
,last_modified_date_time
,web_url
,workbook_id
,workbook_name
-
Create worksheet: Creates a new worksheet within an existing workbook.
Variables Inputs workbook_id
,worksheet_name
Output http_status_code
,id
,name
,position
,visibility
-
Add row to sheet: Appends a new row to an existing worksheet.
Variables Inputs workbook_id
,sheet_name
,values
Output address
,cell_count
,column_count
,column_hidden
,column_index
,http_status_code
,row_count
,row_hidden
,row_index
,values
-
Fetch row data: Retrieves the values in a specific row based on a
row index.
Variables Inputs spreadsheet_id
,row_index
Output row_data
-
Update row: Updates the values in a specific row based on a row index.
Variables Inputs spreadsheet_id
,header_row
Output address
,cell_count
,column_count
,column_hidden
,column_index
,http_status_code
,row_count
,row_hidden
,row_index
,values
Using Microsoft Outlook actions
Microsoft Outlook action steps can be used to send, reply to, forward, and search for emails in Microsoft Outlook. These steps use the Microsoft Graph API to provide secure and reliable email automation, streamlining communication, reducing manual email handling, and improving response times.
- Find email: Retrieves an email based on the email's subject or sender details for further use in the action flow.
- Forward email: Forwards an existing email to a specified recipient.
- Reply to email: Sends a reply to an existing email using the email ID.
- Send email: Send a new email to a specified recipient with a subject and body.
Using Microsoft Teams actions
Microsoft Teams action steps can be used to send updates and notifications from Zendesk to Microsoft Teams. This allows for automated actions, such as posting messages to channels or individuals and adding reactions to messages. Automating interactions in Microsoft Teams can streamline collaboration and keep teams aligned without needing to leave their primary workspace.
- Add reaction to channel message: Adds an emoji reaction to a message in a channel.
- Add reaction to direct message: Adds an emoji reaction to a direct message.
- Fetch thread: Retrieves a thread of messages from a channel or direct message.
- Find user: Retrieves data about a user in Microsoft Teams for further use in the action flow.
- Post message to channel: Sends a message to a specified channel in Microsoft Teams.
- Send direct message: Sends a message to a specified user in Microsoft Teams.
Using OpenAI actions
The OpenAI action steps make it possible for you to provide things such as AI-generated summaries of long tickets to agents, identify negative emotional tones in tickets so they can be routed to specialized teams, extract keywords that can be used as ticket tags, and use tailored AI models to analyze customer messages.
GPT 5.0 is supported for all of the OpenAI steps. This enhances automation capabilities by providing better contextual understanding and more natural responses.
-
Analyze sentiment: Detects the emotional tone.
Variables Inputs model
,text
Output sentiment
-
Summarize text: Condenses large quantities of text into a brief summary.
Variables Inputs model
,text
Output summary
-
Extract keywords: Identifies main topics or entities. These can
then be used as tags for tickets.
Variables Inputs model
,text
Output keywords
-
Send prompt: A custom prompt and response from the OpenAI
API.For example, a prompt might be:
where [description] is replaced with a value by clicking Add variable.Analyze this ticket and categorize it into one of the following: Billing, Technical Issue, Feature Request, Bug Report, General Inquiry. Ticket:[description]
Variables Inputs model
,text
Output content
Using Salesforce actions
The Salesforce action steps can be used to automate many of the actions an agent might take as they work tickets. For example, you can use the Salesforce actions in action flows to automatically create new leads or other Salesforce objects when a user contacts you, automatically add notes to a Salesforce record after a customer interaction, clean up duplicated data, look up Salesforce contact data prior to sending a Slack message or creating a Jira issue, automatically convert highly rated leads identified by AI scoring models, and more.
-
Create record: Adds a new record to an object.
Variables Inputs name
,phone
,description
Output id
-
Update record: Changes field values for an existing record.
Variables Inputs name
,phone
,description
Output id
-
Delete record: Removes a lead or case from Salesforce.
Variables Inputs object_id
Output none -
Find record: Searches for a record based on identifying
information, such as an email address or ID. The inputs and output vary
by object.
Variables Inputs -
Accounts:
name
,phone
,description
-
Leads:
first_name
,last_name
,email
-
Contacts:
first_name
,last_name
,email
-
Opportunities:
name
-
Cases:
case_number
-
Campaigns:
name
Output -
Accounts:
id
,name
- Leads: Full lead metadata
- Contacts: Full contact metadata
- Opportunities: Pipeline metadata
- Cases: Case metadata
-
Campaigns:
id
,name
,status
-
Accounts:
-
Convert lead to opportunity: Transforms a lead into an opportunity.
Variables Inputs lead_id
,account_id
Output opportunity_id
Using Shopify actions
Shopify action steps make it possible to automatically populate customer information and order details when handling tickets, cancel tickets, and issue refunds without leaving Zendesk.
-
Search order: Retrieves details of a Shopify order using an email
address, order ID, or order date.
Variables Inputs query
Output orders
-
Cancel order: Cancels the order in Shopify. Includes options to
issue a refund, restock items, and notify the customer.
Variables Inputs order_id
,reason
,refund
Output none -
Create refund: Initiates a full refund process in Shopify. You
can choose whether to notify customers.
Variables Inputs order_id
,notify_customer
,notes
Output amount
,id
Using Slack actions
Slack action steps can be used in action flows to streamline communication and make sure users know about other things being performed by action flows. For example, you can send messages to channels and individual users alerting them of new tickets or Jira issue assignments, post AI-generated summaries of tickets into a Slack thread, escalate direct messages to public channels for broader visibility, add reactions to automatically acknowledge messages, or extract message details for analysis and reply with AI-generated content.
-
Post message to channel: Send a message to a public or private channel.
Variables Inputs channel
,message
Output channel
,ts
,ok
-
Send direct message: Send a message to a specific
user.Note: Although Slack supports DMs with up to 9 other individuals, this step only supports sending a direct message to a single individual.
Variables Inputs email
,message
Output Full message data -
Reply to message thread: Post a reply to a message in a thread.
This step can create a thread or reply within an existing thread.
Variables Inputs email
,message
Output None -
Fetch thread messages: Retrieves all messages in a thread.
Variables Inputs channel
,thread_ts
,reply_ts
Output messages
-
Add reaction: Adds a specified emoji reaction to a message.
Variables Inputs channel
,name
,timestamp
Output success
-
Fetch message: Retrieves message content and metadata.
Variables Inputs channel
,timestamp
Output text
,user
-
Find user: Retrieves a Slack user so that they can be used later
in the action flow.
Variables Inputs user_id
Output display_name
,email
,real_name
,user_id