--- title: Channel Resolver Integration - Zendesk excerpt: '' deprecated: false hidden: false metadata: title: '' description: '' robots: index next: description: '' --- ## Start Here * If the Moveworks user is set to `Admin` level permissions * No action needed, Moveworks Customer Success team can configure this within your system and this guide does not need to be followed. * If the Moveworks user is set to `Agent` level permissions or more granular permissions with a `Custom Role` * We will not be able to automatically create the webhook on our own and require admin assistance. * In addition to the permissions detailed in the Zendesk document below, we need an additional permission to view, add, edit, and delete triggers\ ![](https://files.readme.io/a054610-small-Untitled_-_2023-04-27T134816.900.png) ## Configuration > 📘 > > This first step only needs to be run if Moveworks has Agent level permissions on Zendesk. 1. Create webhook manually. ![](https://files.readme.io/aed8d2d-small-Screen_Shot_2022-03-17_at_11.24.42_AM_3.png) * Under `{{ zendesk_url }}/admin/apps-integrations/webhooks/webhooks`, create a new webhook with the following settings. * The `name` must be exactly `Moveworks Webhook Integration` * The endpoint needs to be `https://app.moveworks.ai/{ORG_NAME}/zendesk/zendesk/events` 2. After the webhook is generated, the signing\_secret needs to be securely sent to Moveworks CS team. ![](https://files.readme.io/8e7e3ce-small-Screen_Shot_2022-02-27_at_2.08.55_PM_1.png) ## Manual Configuration of Triggers > 📘 > > If Moveworks does not have permissions to create Triggers in your Zendesk instance, we also need to manually configure the following webhooks. 1. Create webhook. * Under `{{ zendesk_url }}/admin/apps-integrations/webhooks/webhooks`, create a new webhook with the following settings. * The `name` must be exactly `Moveworks Webhook Integration` * The endpoint needs to be `https://app.moveworks.ai/{ORG_NAME}/zendesk/events` * After the webhook is generated, the signing\_secret needs to be sent to us via the customer as we will not be able to query it from our end. ![](https://files.readme.io/6af4e65-small-Screen_Shot_2022-03-17_at_11.24.42_AM_2.png) 2. Create a trigger category for Moveworks under `{{ zendesk_url }}/admin/object-rules/rules/triggers` called `Moveworks Triggers`. 3. We will need to create three separate triggers under this category. ## Moveworks Trigger - New Comment 1. Name: `Moveworks Trigger - New Comment` 2. Condition: `Comment` `is` `Present (public or private)` 3. Action: `Notify active webhook` `Moveworks Webhook Integration` 4. Payload: ``` { "event_type": "comment_created", "timestamp": "{{ticket.latest_comment.created_at_with_time}}", "comment": { "id": {{ticket.latest_comment.id}}, "type": "Comment", "author_id": {{ticket.latest_comment.author.id}}, "author_name": "{{ticket.latest_comment.author.name}}", "body": "{{ticket.latest_comment.value}}", "plain_body": "{{ticket.latest_comment.value}}", "public": {{ticket.latest_comment.is_public}}, "attachments": [ {%- for attachment in ticket.latest_comment.attachments -%} { "file_name": "{{attachment.filename}}", "url": "{{attachment.url}}", "size": {{attachment.size}} }{% unless forloop.last %},{% endunless %} {%- endfor -%} ], "created_at": "{{ticket.latest_comment.created_at_with_time}}" }, "ticket": { "id": {{ticket.id}}, "subject": "{{ticket.title}}", "description": "{{ticket.description}}", "submitter_id": {{ticket.submitter.id}}, "requester_id": {{ticket.requester.id}}, {% if ticket.assignee != blank %}"assignee_id": {{ticket.assignee.id}},{% endif %} {% if ticket.group != blank %}"group_id": {{ticket.group.id}},{% endif %} "created_at": "{{ticket.created_at_with_timestamp}}", "updated_at": "{{ticket.updated_at_with_timestamp}}", "type": "{{ticket.ticket_type}}", "status": "{{ticket.status}}", "comments": [ {%- for comment in ticket.comments -%} { "id": {{comment.id}}, "type": "Comment", "author_id": {{comment.author.id}}, "author_name": "{{comment.author.name}}", "body": "{{comment.value}}", "plain_body": "{{comment.value}}", "public": {{comment.is_public}}, "attachments": [ {%- for attachment in comment.attachments -%} { "file_name": "{{attachment.filename}}", "url": "{{attachment.url}}", "size": {{attachment.size}} }{% unless forloop.last %},{% endunless %} {%- endfor -%} ], "created_at": "{{comment.created_at_with_time}}" }{% unless forloop.last %},{% endunless %} {%- endfor -%} ] } } ``` ### Moveworks Trigger - Ticket Updated 1. Name: `Moveworks Trigger - Ticket Updated` 2. Condition: `Ticket` `is` `Updated` 3. Action: `Notify active webhook` `Moveworks Webhook Integration` 4. Payload: ``` { "event_type": "ticket_updated", "timestamp": "{{ticket.updated_at_with_timestamp}}", "user": { "name": "{{current_user.name}}", "email": "{{current_user.email}}", "id": {{current_user.id}} }, "ticket": { "id": "{{ticket.id}}", "subject": "{{ticket.title}}", "description": "{{ticket.description}}", "submitter_id": {{ticket.submitter.id}}, "requester_id": {{ticket.requester.id}}, {% if ticket.assignee != blank %}"assignee_id": {{ticket.assignee.id}},{% endif %} {% if ticket.group != blank %}"group_id": {{ticket.group.id}},{% endif %} "created_at": "{{ticket.created_at_with_timestamp}}", "updated_at": "{{ticket.updated_at_with_timestamp}}", "type": "{{ticket.ticket_type}}", "status": "{{ticket.status}}", "comments": [ {%- for comment in ticket.comments -%} { "id": {{comment.id}}, "type": "Comment", "author_id": {{comment.author.id}}, "author_name": "{{comment.author.name}}", "body": "{{comment.value}}", "plain_body": "{{comment.value}}", "public": {{comment.is_public}}, "attachments": [ {%- for attachment in comment.attachments -%} { "file_name": "{{attachment.filename}}", "url": "{{attachment.url}}", "size": {{attachment.size}} }{% unless forloop.last %},{% endunless %} {%- endfor -%} ], "created_at": "{{comment.created_at_with_time}}" }{% unless forloop.last %},{% endunless %} {%- endfor -%} ] } } ``` ### Moveworks Trigger - Ticket Created 1. Name: `Moveworks Trigger - Ticket Created` 2. Condition: `Ticket` `is` `Created` 3. Action: `Notify active webhook` `Moveworks Webhook Integration` 4. Payload: ``` { "event_type": "ticket_created", "timestamp": "{{ticket.created_at_with_timestamp}}", "ticket": { "id": {{ticket.id}}, "subject": "{{ticket.title}}", "description": "{{ticket.description}}", "submitter_id": {{ticket.submitter.id}}, "requester_id": {{ticket.requester.id}}, {% if ticket.assignee != blank %}"assignee_id": {{ticket.assignee.id}},{% endif %} {% if ticket.group != blank %}"group_id": {{ticket.group.id}},{% endif %} "created_at": "{{ticket.created_at_with_timestamp}}", "updated_at": "{{ticket.updated_at_with_timestamp}}", "type": "{{ticket.ticket_type}}", "status": "{{ticket.status}}", "comments": [ {%- for comment in ticket.comments -%} { "id": {{comment.id}}, "type": "Comment", "author_id": {{comment.author.id}}, "author_name": "{{comment.author.name}}", "body": "{{comment.value}}", "plain_body": "{{comment.value}}", "public": {{comment.is_public}}, "attachments": [ {%- for attachment in comment.attachments -%} { "file_name": "{{attachment.filename}}", "url": "{{attachment.url}}", "size": {{attachment.size}} }{% unless forloop.last %},{% endunless %} {%- endfor -%} ], "created_at": "{{comment.created_at_with_time}}" }{% unless forloop.last %},{% endunless %} {%- endfor -%} ] } } ```