With the Slack destination, Hightouch can serve as a notifier for various data-related events or changes. This is a very flexible integration, but here are a few example use cases:
Notify your customer success teams when product usage for a key account suddenly drops
Notify an account executive when product usage surpasses a certain threshold
Send a daily summary of the number of sign ups compared to the same day last month
Send a daily summary on the adoption of a core feature
Use OAuth to connect Slack by navigating to Destinations > Create New > Slack. Click "Connect" and log in with your desired Slack account. Once you have selected your desired workspace, click "Allow" and it will bring you back to Hightouch with an "Authorization successful" screen. Finish your setup of this destination by clicking the continue button and naming your Destination.
In order for Hightouch to message your channel, you need to ensure the bot is invited to the channels. Follow the steps below to add the bot to your channel.
Go to the channel and next to the name, select the drop-down button
Hightouch will not send any messages on the initial run to prevent a flood of
messages to your channel. Messages will start after this initial sync.
Hightouch supports sending messages based on rows that have been added or removed since the last sync run. Each row is sent as an individual message and can be sent to different channels and templated with Liquid.
Message formatting is best when the following conditions are met:
You want to write a query and have Hightouch detect the added and removed rows
You want a custom message sent per each added and/or removed row
Hightouch supports both sending messages to a specific channel that the Hightouch bot is part of, or by pulling the channel ID each row. Enable the "Use column" toggle to dynamically set the target channel.
The batch message mode is similar to the normal message mode, except it sends all rows in the query results rather than only added / removed rows since the last sync.
This mode also allows you to specify how many rows are sent per message, which can range from 1 to 20. With 1 row per message, it would be similar to the message mode, whereas 20 rows per message would be similar to a tabular representation.
This format is good for the following scenarios.
You want to write a query, and have Hightouch push a message containing all rows, formatted as a message, to Slack
You don't want Hightouch to detect added and removed rows, but instead want to send all rows on each query run
For each message, Hightouch allows setting the header, footer, and row content. Only the row content is required. The row content is repeated per row in the message and has access to the row values via templating.
For both the message and batch message modes, Liquid templating is supported. The most important implication of this is that columns from the added or removed row can be accessed as part of the message body. Here is an example message making use of Liquid to insert a column into the message.
User with name {{ name }} and email {{ email }} has signed up
Hightouch supports tagging users by either their Slack user ID (if you have it in your warehouse) or by email.
Tagging by User ID: tag by user ID by writing <@{{ userId }}> where userId is the column that contains the user's Slack ID, just as using Liquid templating. If the userId is a static value, you can write something like <@UL53466SY>.
Tagging by Email: tag by email by writing <@{{ email | slack_user_lookup }}> where email is the column that contains the user's email used in Slack. If the email is a static value, you can write something like <@{{ "example@gmail.com" | slack_user_lookup }}>.
By default, Slack automatically unfurls (displays a preview) URL links in your messages. To prevent automatic unfurling, surround the URL with backticks, for example:
https://www.hightouch.com/
(Note: The backtick is usually located above the tab key on the left-hand side of the keyboard).