Summary: With our Slack Integration SDK you are able to 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 in the tools they're already working in.

Follow instructions on how to:


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


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 by clicking on a Create Flow button in the right upper 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 which event you selected. There are 8 different types of events:

New proof/version

  1. Triggered by - select the type of request that will trigger the Zibot.

  2. Created in - select the Ziflow folder that will be monitored by this flow.

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


Proof updated

  1. Triggered by - select the type of request that will trigger the Zibot

  2. Modified in - select the Ziflow folder that will be monitored by this flow


Decision made

  1. Triggered by decision made - select what level decision needs to be made in order to activate the flow.

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

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


New comment/reply

  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 is going to be monitored by this flow.


Comment resolved

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


Comment labeled

  1. Comment is labelled as - select which label(s) should trigger a Zibot.

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


Stage updated

  1. Triggered by - select which type of the stage updated event should trigger the Zibot

  2. Modified in - choose the Ziflow folder that is going to be monitored by this flow.


Stage started

  1. Triggered by - select which type of the stage updated event should trigger the Zibot

  2. Modified in - choose 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 information set in the previous step directly to Slack:

Use following Zibots

  1. Search Slack channel - with this Zibot users can search through the Slack channel for relevant data:

  2. Create Slack channel - adds a new Slack channel:

  3. Send to Slack channel - allows sending a message to a chosen Slack channel. Start sending messages using various types of layouts. Slack Block Kit Builder lets 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"
    }
    }
    ]


  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 create rich, interactive UI for your messages.

  5. Invite to Slack channel - with this Zibot you can automatically invite a specific user to a Slack channel.

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:

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 own request body or alternatively copy/paste one of our below examples.

  1. Create - select the type of request.

  2. URL (required) - enter the application URL where you will be sending 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.

image1-54

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:

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) because we want to obtain a recently created channel ID.

5. Set up a third Zibot that is going 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.

Supporting Material:

Did this answer your question?