***
title: Channel Resolver Integration - Zendesk
position: 6
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\

## Configuration
This first step only needs to be run if Moveworks has Agent level permissions on Zendesk.
1. Create webhook manually.

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

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

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 -%}
]
}
}
```