Summary: With our Slack Integration SDK you can 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.

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

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 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 which event you selected. There are 8 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 will be monitored by this flow.

  3. Created by - select the user that will be 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 will be monitored by this flow


Decision made

Decision made event settings in Ziflow
  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 will be monitored by this flow.


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 will be monitored by this flow.


Comment resolved

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


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 will be monitored by this flow.


Stage updated

Stage updated 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 will be monitored by this flow.


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 will 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:

Setting up Slack Zibot actions in Ziflow

Use following Zibots

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

    Search Slack channel Zibot configuration
  2. Create Slack channel - adds a new Slack channel:

    Create Slack channel Zibot configuration
  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.

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

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

Webhook Zibot configuration in Ziflow
  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.

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

Add Serach Slack channel Zibot as a next flow action

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

Supporting Material:

Did this answer your question?