Summary: Our integration for Slack lets you extend your Ziflow online proofing operations to include real-time Ziflow notifications in Slack for new proofs, comments, decisions, and more to keep your team up to date with the tools they're already working in.
This article outlines how described functionality appears and operates in the old layout. If you are using Dashboard 2.0, please refer to the corresponding article in the Help Center.
Available on: Pro & Enterprise editions.
Follow the instructions on how to:
Please note that before setting up the integration between Ziflow and any third-party tool, it is necessary to connect Ziflow with the external application first. The process of connecting Ziflow to external applications can be found below.
How to connect with Slack
To integrate Slack with Ziflow, open the Connect tab in the Ziflow account and then click on the Applications tab on the left. Once inside the Applications menu, click the Connect Application button and select Slack from the list.
Once you authenticate in Slack and authorize Ziflow to connect with the Slack account, you can start setting up automated actions between Ziflow and Slack.
Slack integration can function effectively on both public and private channels within your Slack workspace.
In order to integrate Ziflow with Slack's private channels, you need to add the Ziflow app to the channels you want to use.
Set up Ziflow automated flows for Slack integration
Once Ziflow and Slack are connected, you can begin setting up automated flows to send information to Slack. Start by going to the Connect tab and clicking on the Create Flow button in the upper right corner of the screen.
Select Ziflow as the Application and choose which Event (new proof/version, decision made, new comment/reply, comment resolved, comment labeled) you want to trigger the integration.
You will be presented with the event details page, which will vary depending on your selected event. There are nine different types of events:
New proof/version
Triggered by - select the type of request that will trigger the Zibot.
Created in - select the Ziflow folder that this flow will monitor.
Created by - select the user responsible for this flow activation.
Proof updated
Triggered by - select the type of request that will trigger the Zibot.
Modified in - select the Ziflow folder that this flow will monitor
Decision made
Triggered by decision made - select what level decision needs to be made to activate the flow.
Type of decision - choose the type of decision that needs to be made to activate the flow.
Created in - select the Ziflow folder that this flow will monitor.
New comment/reply
Triggered by new comment / new reply - choose which option should activate the flow.
Made by - choose if a Zibot should be activated by a specific reviewer or by anyone that adds a comment/reply.
Created in - select the Ziflow folder that this flow will monitor.
Comment resolved
Created in - select the Ziflow folder that this flow will monitor.
Comment labeled
Comment is labelled as - select which label(s) should trigger a Zibot.
Created in - select the Ziflow folder that this flow will monitor.
Stage updated
Triggered by - select which type of the stage updated event should trigger the Zibot. There are three types of stage update events: reviewer added, reviewer removed, stage locked, and deadline changed.
Modified in - choose the Ziflow folder that this flow will monitor.
Stage started
Triggered by - select which type of the stage updated event should trigger the Zibot.
Modified in - choose the Ziflow folder that this flow will monitor.
Comment reaction
Triggered by - choose if you want to trigger a flow based on reactions added to comments or replies.
Comment reacted with - select what type of reaction should trigger a flow.
Created in - select the Ziflow folder that is going to be monitored by this flow.
Set up Ziflow Zibot for Slack action
After saving the event flow triggers, choose a Slack Zibot action that will pass the information set in the previous step directly to Slack:
Use following Zibots
Search Slack channel - with this, Zibot users can search through the Slack channels (public or private) for relevant data:
Create Slack channel - adds a new Slack channel (public or private):
Send to Slack channel - allows sending a message to a chosen Slack channel (public or private). Start sending messages using various types of layouts. Slack Block Kit Builder lets you create rich, interactive UI for your messages.
Example of the blocks layout body you may use for your Slack message:
[
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Hello! New proof #{$.proof.name}# has been published in Ziflow."
}
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "View the proof by clicking on the Open Proof button down below."
}
},
{
"type": "divider"
},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "Please be aware that you may be asked to sign in to Ziflow before accessing the proof."
},
"accessory": {
"type": "button",
"text": {
"type": "plain_text",
"text": "Open Proof",
"emoji": true
},
"value": "click_me_123",
"url": "#{$.proof.public_link}#",
"action_id": "button-action"
}
}
]
Send to Slack user - allows sending a message to the specific Slack user. Start sending messages using various types of layouts. Slack Block Kit Builder lets you create rich, interactive UI for your messages.
Invite to Slack channel - with this Zibot, you can automatically invite a specific user to a Slack channel (public or private).
Obtain Slack user by email - this Zibot can be used to retrieve a Slack user ID. It's useful for creating flows that can locate and message specific users.
And, you're done! Ziflow will now send or update data in your designated Slack
account.
Set up Ziflow Webhook for Slack connection
After saving the event flow triggers, choose Webhook Zibot action:
Under Create, select POST. Under URL, copy the Webhook URL for your Workspace in Slack (NOTE: if you don't have a Webhook URL for your Workspace in Slack, you may need to create a Slack app and an Incoming Webhook). You can use your request body or copy/paste one of our examples below.
Create - select the type of request.
URL (required) - enter the application URL where you will send the data.
Query String Parameters - add which parameters you want to send.
Request body - you can use example requests posted below or create your own using JSON format (you can also use Slack formatting tool for testing how your message will look directly in-app).
Headers - enter the header values for each request.
For a New Proof Notification:
{
"attachments": [
{
"fallback": "Hi, there is one new proof to review.",
"color": "#1A18AB",
"pretext": "Hi, there is one new proof to review.",
"author_name": "{$.proof.owner.first_name} {$.proof.owner.last_name}",
"title": "{$.proof.name}",
"title_link": "{$.proof.public_link}",
"thumb_url": "{$.proof.thumbnail_link}"
}
]
}
For a New Comment or Reply:
{
"attachments": [
{
"fallback": "Hi, a new comment has been made.",
"color": "#dc9d3e",
"pretext": "Hi, a new comment has been made.",
"author_name": "{$.comment.reviewer.email}",
"title": "{$.proof.name}",
"title_link": "{$.proof.public_link}",
"thumb_url": "{$.proof.thumbnail_link}",
"text": "{$.comment.comment}"
}
]
}
For a Decision Made Notification:
{
"attachments": [
{
"fallback": "Hi, a new decision has been made.",
"color": "#2092e3",
"pretext": "Hi, a new decision has been made.",
"author_name": "{$.reviewer.email}",
"title": "{$.proof.name}",
"title_link": "{$.proof.public_link}",
"thumb_url": "{$.proof.thumbnail_link}",
"text": "{$.reviewer.decision_status}"
}
]
}
Once you hit the Next button, Ziflow will confirm if the flow looks good. If there are no problems, name the flow and turn it on.
And you're done! Ziflow will now send or update data in your designated Slack
account.
Ziflow flow examples for Slack
Send information about failed proofs.
1. Select the needed event trigger. In this case, it will be a New Proof/Version event with Failed status. This event will trigger once the new proof is created, but it has failed for some reason:
2. Choose to Create a Slack channel from the Zibot list:
3. Fill out all necessary data in the Zibot configuration. In my example, I want to create a new Slack channel called failed-proofs.
4. Add another Zibot (Search Slack channel) to obtain a recently created channel ID.
5. Set up a third Zibot to Send a message to Slack Channel about failed proof being uploaded in your Ziflow.
6. Create a proof using a password-protected file and test if you receive a message about failed proof in your Slack.
Send Ziflow notifications to Slack whenever someone uses @mention in Ziflow
Select the needed event trigger. In this case, it will be a New Comment/Reply event. This event will trigger once a new comment or reply is added to the review.
Click next and select a path action from the Zibot list.
For the path details, please fill out the Rules as shown in the screenshot below:
Click next and select the Obtain Slack User by email Zibot.
Fill out the email field at the Zibot configuration with the following expression:
#{$.proof.stages.members[id=$match($$.comment.comment, /\$\{reviewer:([a-f0-9-]+)\}/)[0].groups[0]].email}#
Add another Zibot to the flow, which will be the Send to Slack user action.
Now, enter the user ID collected from the previous action to the User ID field. For the text message, I included some tokens so the user can see some details related to the mention.
Test if the flow works by using @mention on someone from your Slack workspace and see if they were notified about that fact in the Slack app.
Here's how the notification will look like inside the Slack application:
Adding Ziflow App to your Slack channels
In order to allow Ziflow to send messages to your private channels, you need to invite the Ziflow app first. To ensure uninterrupted automation between Ziflow and Slack, it is important to make sure that the Ziflow app is added to your private channels.
Adding the Ziflow app to Slack channels is quick and straightforward, but if you need any help with that, please check the Slack Help Center for more details (Guide to apps in Slack & Add apps to your Slack workspace).
Supporting Material:
The Ziflow-Slack Webhook Integration requires you to create an Incoming Webhook and a Slack app.
When connecting with Webhooks, you can test your request body using the Slack message formatting tool.
Please also take a look at our Privacy Policy, which discloses how Ziflow gathers, uses, discloses, and manages a customer's data.