Integrating With Microsoft Teams Using Webhooks

Notify users on Microsoft Teams when an event occurs in Ziflow

Updated over a week ago

Summary: With our Microsft Teams integration, you are able to extend your Ziflow online proofing operations to include real-time notifications to Teams for new proofs or versions, comments, decisions, and more to keep your team up to date in the tools they're already working in.

Available for: Users with Admin rights on Pro & Enterprise editions.

Our Webhook Zibot allows you to trigger a flow when the following events occur on a proof:

  • New proof/version: triggers when a new proof is ready for review.

  • Decision: triggers when a decision is made by a reviewer or when a decision is updated on the stage and/or proof.

  • New comment/reply: triggers when a reviewer adds a comment/reply to the proof.

  • Comment resolved: triggers when a comment is marked as resolved.

  • Comment labeled: triggers when a reviewer labels a comment.

  • Proof updated: triggers when the proof folder, setting, or custom property changes.

  • Stage updated: triggers when a stage is started or when a reviewer is added/removed.
    ​

  • Comment reaction: triggers when a comment reaction is added on a comment/reply level.

Learn how to:


Create Ziflow Webhook Flow

To integrate Teams with Ziflow, you need to click on the Connect tab and then click on the + Create Flow button, choose 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.

Create Ziflow Webhook Flow

Set up Flow Event settings.

The first step is selecting the event that will trigger your Zibot:

Set up Flow Event settings in Ziflow

Next, you will be presented with the event details page, which will vary depending on which event you select:


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 that will be responsible for this flow activation.


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 added

New comment/reply added 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 labeled as - select which label(s) should trigger a Zibot.

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


Proof updated

Proof updated event settings in Ziflow
  1. Triggered by - select which type of the proof updated event should trigger the Zibot.

  2. Modified in - choose 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.


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.


Configure Webhook Zibot

Next, choose a Webhook Zibot:

Configure Webhook Zibot

Under Create, select POST.

Under URL, copy the Incoming Webhook URL for your Team in Teams (NOTE: if you don't have an Incoming Webhook URL for your Team in Teams, you may need to create the Incoming Webhook; please see the Additional Information below for more details).

Copy the below SDK in the Request body section.

Webhook details configuration

For a New Proof Notification:

{
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"summary": "New proof to review",
"themeColor": "20A5FF",
"sections": [
{
"images":[
{
"image":"{$.proof.thumbnail_link}",
"title": "Proof thumbnail"
}
],
"activityTitle": "**{$.proof.name}**",
"activitySubtitle": "Version: v{$.proof.version}",
"facts": [
{
"name": "Deadline:",
"value": "{$.proof.stages[0].deadline}"
},
{
"name": "Folder:",
"value": "{$.proof.folder.name}"
}
],
"text": "**{$.proof.owner.first_name} {$.proof.owner.last_name} created a new proof to review.**",
"potentialAction": [
{
"@type": "OpenUri",
"name": "Open Proof",
"targets": [
{
"os": "default",
"uri": "{$.proof.public_link}"
}
]
}
]
}
]
}

For a New Comment or Reply:

{
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"summary": "New comment",
"themeColor": "20A5FF",
"sections": [
{
"activityTitle": "**{$.proof.name}**",
"activitySubtitle": "Version: v{$.proof.version}",
"facts": [
{
"name": "Comment:",
"value": "{$.comment.comment}"
}
],
"text": "**{$.comment.reviewer.email} made a new comment.**",
"potentialAction": [
{
"@type": "OpenUri",
"name": "Open Proof",
"targets": [
{
"os": "default",
"uri": "{$.proof.public_link}"
}
]
},
{
"@type": "OpenUri",
"name": "View Comment",
"targets": [
{
"os": "default",
"uri": "{$.proof.public_link}#{$.comment.id}"
}
]
}
]
}
]
}

For a Decision Made Notification:

{
"@type": "MessageCard",
"@context": "https://schema.org/extensions",
"summary": "New decision",
"themeColor": "20A5FF",
"sections": [
{
"activityTitle": "**{$.proof.name}**",
"activitySubtitle": "Version: v{$.proof.version}",
"facts": [
{
"name": "Decision:",
"value": "{$.reviewer.decision_status}"
}
],
"text": "**{$.reviewer.email} has made a new decision.**",
"potentialAction": [
{
"@type": "OpenUri",
"name": "Open Proof",
"targets": [
{
"os": "default",
"uri": "{$.proof.public_link}"
}
]
}
]
}
]
}

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.

Name and save the flow

And you're done! Ziflow will now send real-time notifications to your designated Teams channel.



​

Additional information:

Supporting Material:

Did this answer your question?