Integrating Ziflow With Slack

Connect Ziflow and Slack to automate the syncing of review progress with Slack.

Updated over a week ago

Summary: Our integration for Slack lets you extend your Ziflow online proofing operations to include real-time notifications to Slack for new proofs, comments, decisions, and more to keep your team up to date with the tools they're already working in.

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.

Connecting Ziflow with Slack application

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 inside Ziflow applications list

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.


Setting up Slack automated flows

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.

Create flow button in Ziflow

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.

Select event which will trigger the flow

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

New proof/version event settings in Ziflow
  1. Triggered by - select the type of request that will trigger the Zibot.

  2. Created in - select the Ziflow folder that this flow will monitor.

  3. Created by - select the user responsible for this flow activation.


Proof updated

Proof updated event settings in Ziflow
  1. Triggered by - select the type of request that will trigger the Zibot.

  2. Modified in - select the Ziflow folder that this flow will monitor


Decision made

Decision made event settings in Ziflow
  1. Triggered by decision made - select what level decision needs to be made to activate the flow.

  2. Type of decision - choose the type of decision that needs to be made to activate the flow.

  3. Created in - select the Ziflow folder that this flow will monitor.


New comment/reply

New comment/reply event settings in Ziflow
  1. Triggered by new comment / new reply - choose which option should activate the flow.

  2. Made by - choose if a Zibot should be activated by a specific reviewer or by anyone that adds a comment/reply.

  3. Created in - select the Ziflow folder that this flow will monitor.


Comment resolved

Comment resolved event settings in Ziflow
  1. Created in - select the Ziflow folder that this flow will monitor.


Comment labeled

Comment labeled event settings in Ziflow
  1. Comment is labelled as - select which label(s) should trigger a Zibot.

  2. Created in - select the Ziflow folder that this flow will monitor.


Stage updated

Stage updated event configuration
  1. 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.

  2. Modified in - choose the Ziflow folder that this flow will monitor.


Stage started

Stage started event settings in Ziflow
  1. Triggered by - select which type of the stage updated event should trigger the Zibot.

  2. Modified in - choose the Ziflow folder that this flow will monitor.


Comment reaction

Comment reaction event settings
  1. Triggered by - choose if you want to trigger a flow based on reactions added to comments or replies.

  2. Comment reacted with - select what type of reaction should trigger a flow.

  3. Created in - select the Ziflow folder that is going to be monitored by this flow.


Setting up Slack Zibot 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:

Setting up Slack Zibot actions in Ziflow

Use following Zibots

  1. Search Slack channel - with this, Zibot users can search through the Slack channels (public or private) for relevant data:

    Search Slack channel Zibot configuration

  2. Create Slack channel - adds a new Slack channel (public or private):

    Create Slack channel Zibot configuration

  3. 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.

    Send to Slack channel Zibot configuration

    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"
    }
    }
    ]


  4. 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.

    Send to Slack user Zibot configuration

  5. Invite to Slack channel - with this Zibot, you can automatically invite a specific user to a Slack channel (public or private).

    Invite to Slack channel Zibot configuration

  6. 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.

    Obtain Slack user by email configuration


And, you're done! Ziflow will now send or update data in your designated Slack

account.


Connecting to Slack with Webhooks

After saving the event flow triggers, choose Webhook Zibot action:

Select Webhook Zibot when connecting Slack with Ziflow by webhook integration

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.

Webhook Zibot configuration in Ziflow
  1. Create - select the type of request.

  2. URL (required) - enter the application URL where you will send the data.

  3. Query String Parameters - add which parameters you want to send.

  4. 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).

  5. 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.

Give a name to your flow and hit the Save button

And you're done! Ziflow will now send or update data in your designated Slack

account.


Slack flow examples

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:

Create a flow with Ziflow as application and New Proof/Version as an event trigger

2. Choose to Create a Slack channel from the Zibot list:

Selecting a Slack channel Zibot from the 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.

Fill out necessary data in the Zibot Configuration

4. Add another Zibot (Search Slack channel) to obtain a recently created channel ID.

Add Serach Slack channel Zibot as a next flow action

5. Set up a third Zibot to Send a message to Slack Channel about failed proof being uploaded in your Ziflow.

Add third Zibot to the flow which will be Send a message to Slack Channel  action

6. Create a proof using a password-protected file and test if you receive a message about failed proof in your Slack.

Test flow by uploading some password protected file as a proof

Send Slack notification whenever someone uses @mention in Ziflow

  1. 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.

    New Comment/Reply event settings
  2. Click next and select a path action from the Zibot list.

    Select a path as a first flow Zibot action
  3. For the path details, please fill out the Rules as shown in the screenshot below:

    Path details
  4. Click next and select the Obtain Slack User by email Zibot.

    Obtain Slack User by email Zibot
  5. Fill out the email field at the Zibot configuration with the following expression:

    Obtain Slack User by email Zibot configuration

    #{$.proof.stages.members[id=$match($$.comment.comment, /\$\{reviewer:([a-f0-9-]+)\}/)[0].groups[0]].email}#

  6. Add another Zibot to the flow, which will be the Send to Slack user action.

    Send to Slack user Zibot

  7. 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.

    Send to Slack user Zibot configuration

  8. 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.

    Test if the flow works by using @mention on someone from your Slack workspace

    Here's how the notification will look like inside the Slack application:

    Slack notification from Ziflow

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).

Adding Ziflow app to private Slack channel


Supporting Material:

Did this answer your question?