- Overview
- UiPath GenAI Activities
- Release notes
- About the UiPath GenAI Activities package
- Project compatibility
- Content Generation
- Update Context Grounding Index
- Context Grounding Search
- Summarize Text
- PII Filtering
- Translate
- Detect Language
- Rewrite
- Generate Email
- Categorize
- Named Entity Recognition
- Image Analysis
- Detect Object
- Signature Similarity
- Sentiment Analysis
- Reformat
- Semantic Similarity
- Image Comparison
- Image Classification
- Working with UiPath GenAI activities
- Supported models
- Frequently asked questions
- Act! 365
- ActiveCampaign
- Adobe Acrobat Sign
- Adobe PDF Services
- Amazon Bedrock
- Amazon Connect
- Amazon Polly
- Amazon SES
- Amazon Transcribe
- Anthropic Claude
- Asana
- AWeber
- Azure AI Document Intelligence
- Azure Maps
- BambooHR
- Box
- Release notes
- About the Box activity package
- Project compatibility
- Add Shared Link to File
- Add Shared Link to Folder
- Search for Content
- Cancel Sign Request
- List Sign Requests
- Create Sign Request
- Resend Sign Request
- Upload File Version
- Copy File
- Delete File
- Download File
- Get File Info
- Get Folder Items
- Upload File
- Copy Folder
- Create Folder
- Delete Folder
- Delete Record
- Get Record
- Insert Record
- Replace Record
- List All Records
- Brevo
- Calendly
- Campaign Monitor
- Cisco Webex Teams
- Citrix ShareFile
- Clearbit
- Confluence Cloud
- Constant Contact
- Coupa
- Customer.io
- Datadog
- Deputy
- Discord - Preview
- DocuSign
- Drip
- Dropbox
- Dropbox Business
- Egnyte
- Eventbrite
- Exchangerates
- Expensify
- Facebook
- Freshbooks
- Freshdesk
- Freshsales - Preview
- Freshservice
- GetResponse
- GitHub
- Google Maps
- Google Speech-to-Text
- Google Text-to-Speech
- Google Vertex
- Google Vision - Preview
- GoToWebinar
- Release Notes
- About the GoToWebinar activity package
- Project compatibility
- Delete Webinar
- Get Webinar
- Get Webinar Meeting Times
- Get Webinar Registrant
- Get Webinar Start URL
- List Account Webinars
- List All In Session Webinars
- List All Webinar Attendees
- List All Webinar Registrants
- List All Webinars
- Quick Create Webinar
- Quick Update Webinar
- Search Recording Assets
- Delete Record
- Get Record
- Insert Record
- List All Records
- List Records
- API References
- Greenhouse
- Hootsuite
- HTTP Webhook
- Hubspot CRM
- HubSpot Marketing
- iContact
- Insightly CRM
- Intercom
- Jira
- Release notes
- About the Jira activity package
- Project compatibility
- Create Issue
- Add Issue Attachment
- Download Issue Attachment
- Get Instance Details
- Add Comment
- Get Comments
- Get Issue
- Search Issues by JQL
- Update Issue
- Update Issue Assignee
- Find User by Email Address or Display Name
- Update Issue Status
- Delete Record
- Get Record
- Insert Record
- List All Records
- Replace Record
- Upsert Record
- Invoke Operation
- Delete Issue
- Event Trigger
- Keap
- Klaviyo
- LinkedIn
- Mailchimp
- Mailjet
- MailerLite
- Mailgun
- Marketo
- Microsoft Azure OpenAI
- Microsoft Dynamics CRM
- Microsoft Sentiment
- Microsoft Teams
- Release Notes
- About the Microsoft Teams activity package
- Project compatibility
- Create Channel
- Invite Member to Channel
- List All Channels
- Send Individual Chat Message
- Reply to Channel Message
- Create Online Teams Meeting
- Send Channel Message
- Send Group Chat Message
- Get Channel by Name
- Get Individual Chat
- Get Team by Name
- Invite User to Team
- List All Channel Messages
- List All Chat Messages
- List All Team Members
- Get Online Teams Meeting
- List All Recordings
- List All Transcripts
- Download Meeting Transcript/Recording
- List All Records
- Insert Record
- Update Record
- Get Record
- Delete Record
- Technical references
- Microsoft Translator
- Microsoft Vision
- Miro
- Okta
- OpenAI
- Oracle Eloqua
- Oracle NetSuite
- Release Notes
- About the Oracle NetSuite activity package
- Project compatibility
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Create Basic Company Customer
- Create Basic Company Vendor
- Create Basic Contact
- Create Basic Individual Customer
- Create Basic Individual Vendor
- Create Basic Support Case
- Update Basic Company Customer
- Update Basic Company Vendor
- Update Basic Contact
- Update Basic Individual Customer
- Update Basic Individual Vendor
- Update Basic Support Case
- Customer Created
- Customer Updated
- Record Created
- Record Updated
- Support Case Raised
- Support Case Updated
- Vendor Created
- Vendor Updated
- PagerDuty
- Paypal
- PDFMonkey
- Pinecone
- Pipedrive
- QuickBooks Online
- Quip
- Salesforce
- Release Notes
- About the Salesforce activity package
- Project compatibility
- Create Account
- Update Account
- Create Contact
- Update Contact
- Create Lead
- Update Lead
- Create Opportunity
- Upload File
- Download File
- Search Records
- Get Opportunity
- Get Lead
- Get Contact
- Get Account
- Add File to Record
- Create Bulk Upload Job
- Get Bulk Job Info
- Starts or Aborts Bulk Job
- Download SOQL Bulk Job Results
- Download Unprocessed Records of Bulk Upload
- Create Bulk Download Job Using SOQL
- Search Using String
- Get Object Fields
- Insert Record
- Get Record
- Delete Record
- Update Record
- List All Records
- Salesforce Marketing Cloud
- SAP BAPI - Preview
- SAP Cloud for Customer
- SAP Concur
- SAP OData - Preview
- SendGrid
- ServiceNow
- Release Notes
- About the ServiceNow activity package
- Project compatibility
- Troubleshooting
- Create New Incident
- Create Incident Task
- List All Incidents
- Update Incident
- Add Attachment
- Download Attachment
- Get Incident Task
- Get Attachment
- List All Attachments
- List All Incident Tasks
- Update Incident Task
- When an Event Happens
- Delete Attachment
- Delete Record
- Get Record
- Insert Record
- List All Records
- Update Record
- Incident Created
- Incident Updated
- Incident Task Created
- Incident Task Updated
- Record Created
- Record Updated
- Shopify
- Slack
- Release Notes
- About the Slack activity package
- Project compatibility
- Create Channel
- Invite Users to Channel
- Remove User from Channel
- Send File to Channel
- Send Message to Channel
- Send Message to User
- Send Reply
- Send Button Response
- Create User Group
- Get User
- List All User Groups
- List All Users
- Set Channel Topic
- Join Channel
- Archive Channel
- Create Group Direct Message
- Get Channel Info
- Button Clicked
- Trigger an automation using the HTTP Webhook connector when a message is posted to Slack
- Use Slack Buttons when an opportunity is won in the CRM system
- Troubleshooting
- SmartRecruiters
- Smartsheet
- Release notes
- About the Smartsheet activity package
- Project compatibility
- Attach URL to Sheet
- Add Column
- Update Column
- Add Row
- Update Row
- Get Sheet
- List All Sheets
- Attach File to Comment
- Search Everything
- Update Sheet
- Create Sheet from Template
- Send Sheet Via Email
- List All Folders
- Download Attachment
- Attach File to Row
- Attach URL to Row
- Attach File to Sheet
- List All Workspaces
- List All Attachments
- Delete Row
- Download Sheet
- Search Sheets
- Insert Record
- Get Record
- List All Records
- Delete Record
- Snowflake
- Stripe
- Sugar Enterprise
- Sugar Professional
- Sugar Sell
- Sugar Serve
- TangoCard
- Todoist
- Trello
- Twilio
- IBM WatsonX
- WhatsApp Business
- WooCommerce
- Workable
- Workday
- Workday REST
- X (formerly Twitter)
- Xero
- Release notes
- About the Xero activity package
- Project compatibility
- Create Contact
- List All Contacts
- Add Attachment to Contact
- Get Balance Sheet Report
- Get BAS Report
- Get GST Report
- Get Bank Summary Report
- Get Aged Receivables by Contact Report
- Get Attachments of a Contact
- Get Budget Summary Report
- Get Profit and Loss Report
- Get Trial Balance Report
- Get Executive Summary Report
- Get Aged Payables by Contact Report
- List Reports
- Delete Record
- List All Records
- Get Record
- Insert Record
- Replace Record
- Youtube
- Zendesk
- Zoho Campaigns
- Zoho Desk
- Zoho Mail
- Zoom
- ZoomInfo
Trigger an automation using the HTTP Webhook connector when a message is posted to Slack
Summary: Trigger an automation using the HTTP Webhook connector when a message is posted to Slack channel.
Applications: Slack, HTTP Webhook
Description
The HTTP Webhook connector allows RPA developers to trigger automations based on external events using webhooks. The HTTP Webhook connector generates a Webhook URL. This must be configured in the private Slack OAuth app settings and the respective event type must be enabled. The events are then instantaneously received by Orchestrator via this URL.Use case
Managing customer support requests raised in a Slack help channel. The request must either create a Jira or Zendesk ticket or send a Slack notification to a team or user group using a Slack button.
This workflow uses the HTTP Webhook connector and its Webhook Event Happened trigger, Deserialize JSON, along with some Slack activities: Send Message to User and Get Channel Info. You can also use the Send Message to Channel or Send Reply activities.
- Open Studio Web and create a new project.
- Select the More options menu on the Manual trigger and select Change trigger.
-
From the trigger catalog, select HTTP Webhook: Webhook Event
Happened. In this trigger activity:
-
Add your Slack connection. The HTTP Webhook connector then
generates a Webhook URL, which you will need in step 4.
-
Add any additional filters, if needed. We recommend you use a
filter for Channel ID, at least. Otherwise, any message in any
channel of your workspace will trigger the event.
- To add a
filter on channel ID, select the Data filters field
to access the Filter builder. In the first column, type
body.event.channel
, select the Equals operator, and add the channel ID in the third column.
- To add a
filter on channel ID, select the Data filters field
to access the Filter builder. In the first column, type
- You can also rename the trigger activity to something more representative of your use case.
-
Add your Slack connection. The HTTP Webhook connector then
generates a Webhook URL, which you will need in step 4.
-
Copy the webhook URL generated in step 1.
- In a different browser tab, go to https://api.slack.com/apps and open your Slack private OAuth application.
-
Navigate to the Event Subscriptions settings page.
-
Set the Enable Events toggle to On.
-
In the Request URL field, paste the webhook URL.
-
-
Next, scroll down to Subscribe to events on behalf of
users and select Add workspace event. Add the
message.channels
event. This retrieves events when a message is posted by a user on the channel. You can add any other events of your choice.
- Select Save Changes. Webhooks are now configured for your app.
Note: The output of the Webhook connector (after the Webhook URL is configured for Slack) is in a specific JSON string format (a sample is provided in the section below). It must be converted to JSON object to use the event payload fields, such as channel ID, user ID, message text etc. in subsequent activities (with the help of JSON dot notation/VB expression). The Slack event payload can also be retrieved fromhttps://api.slack.com/types/event
. To avoid any errors, retrieve/log the event payload string using Log message before using JSON dot notation/VB expression. -
Add a Deserialize JSON activity to
your workflow. This step converts the JSON string output of the Webhook
connector to JSON object.
- Select the JSON string input parameter to add a variable.
-
Under Webhook Event Happened, navigate to Body >
Content.
- Add the Slack Get Channel Info
activity to your workflow. At this step, you need to pass the output fields
of the Deserialize JSON activity using
JSON dot notation/VB expression to retrieve channel name. In the
activity:
-
For the Channel field, select See more icon to change input type and
select Open expression editor. Use the entry below to
pass the channel ID retrieved in the Webhook
event.
jSONObject("event")("channel").ToString
jSONObject("event")("channel").ToString
-
For the Channel field, select See more icon to change input type and
select Open expression editor. Use the entry below to
pass the channel ID retrieved in the Webhook
event.
- Add the Slack Send Message to User
activity to your workflow. Now you want to send a message to a user
(yourself) when a message is posted in a particular channel (a help channel)
and enter the posted message and channel name using variables. In this
activity:
- In the User input field, select the user from the drop-down list or manually type the user email address.
-
In the Message field, type a message by entering the
channel name (where the message was posted) and the message text
content, using variables. For example:
"There is a customer support request in channel
<name>:
jSONObject("event")("text")
"- where <name> is retrieved from the output of Get Channel Info.
-
In the Buttons actions fields, enter two button actions
for Approve Ticket and Notify Team. Add the action ID
(required), action name (required), style (primary/danger),
confirmation title, confirmation text, confirm ok title, confirm
deny title, in a comma-separated format:
aks1,Approve Ticket,primary; aks2,Notify Team;
aks1,Approve Ticket,primary; aks2,Notify Team;
- You are now ready to publish
or run the project. Select the Publish button at the top of the
workflow and enter the details such as Automation name, Description, and
Workspace. The Version is updated automatically.
{
"token": "SUAVTSGdUyb2qBaclIC14wKq",
"team_id": "T02KZCJHY1W",
"enterprise_id": "E02K962QC91",
"context_team_id": "T02KZCJHY1W",
"context_enterprise_id": "E02K962QC91",
"api_app_id": "A04JJM6SUFM",
"event": {
"client_msg_id": "4abfc195-c381-4c8e-b952-00aa705ce507",
"type": "message",
"text": "YoYo",
"user": "U02K95UU71Q",
"ts": "1705418063.837779",
"blocks": [
{
"type": "rich_text",
"block_id": "moF7O",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "YoYo"
}
]
}
]
}
],
"team": "T02KZCJHY1W",
"channel": "C05LTLGRHEJ",
"event_ts": "1705418063.837779",
"channel_type": "channel"
},
"type": "event_callback",
"event_id": "Ev06E0PJ7M45",
"event_time": 1705418063,
"authorizations": [
{
"enterprise_id": "E02K962QC91",
"team_id": "T02KZCJHY1W",
"user_id": "U02K95UU71Q",
"is_bot": false,
"is_enterprise_install": false
}
],
"is_ext_shared_channel": false,
"event_context": "4-eyJldCI6Im1lc3NhZ2UiLCJ0aWQiOiJUMDJLWkNKSFkxVyIsImFpZCI6IkEwNEpKTTZTVUZNIiwiY2lkIjoiQzA1TFRMR1JIRUoifQ"
}
{
"token": "SUAVTSGdUyb2qBaclIC14wKq",
"team_id": "T02KZCJHY1W",
"enterprise_id": "E02K962QC91",
"context_team_id": "T02KZCJHY1W",
"context_enterprise_id": "E02K962QC91",
"api_app_id": "A04JJM6SUFM",
"event": {
"client_msg_id": "4abfc195-c381-4c8e-b952-00aa705ce507",
"type": "message",
"text": "YoYo",
"user": "U02K95UU71Q",
"ts": "1705418063.837779",
"blocks": [
{
"type": "rich_text",
"block_id": "moF7O",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"type": "text",
"text": "YoYo"
}
]
}
]
}
],
"team": "T02KZCJHY1W",
"channel": "C05LTLGRHEJ",
"event_ts": "1705418063.837779",
"channel_type": "channel"
},
"type": "event_callback",
"event_id": "Ev06E0PJ7M45",
"event_time": 1705418063,
"authorizations": [
{
"enterprise_id": "E02K962QC91",
"team_id": "T02KZCJHY1W",
"user_id": "U02K95UU71Q",
"is_bot": false,
"is_enterprise_install": false
}
],
"is_ext_shared_channel": false,
"event_context": "4-eyJldCI6Im1lc3NhZ2UiLCJ0aWQiOiJUMDJLWkNKSFkxVyIsImFpZCI6IkEwNEpKTTZTVUZNIiwiY2lkIjoiQzA1TFRMR1JIRUoifQ"
}