Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zendesk enhancement #27101

Merged
merged 30 commits into from
Jun 22, 2023
Merged
Show file tree
Hide file tree
Changes from 13 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
f9fe719
First commit
Shellyber May 30, 2023
4f827ba
Merge branch 'master' into st-zendesk-enhancement
Shellyber May 31, 2023
4355451
Added new command "zendesk-group-user-list"
Shellyber May 31, 2023
2ad1a94
Update release notes
Shellyber May 31, 2023
4b8a79a
Added html_comment to the create and update ticket + README updates
Shellyber Jun 1, 2023
dda6b6d
Updated rn
Shellyber Jun 4, 2023
84f87c5
just a commit
Shellyber Jun 5, 2023
dfed87b
Merge branch 'master' into st-zendesk-enhancement
Shellyber Jun 5, 2023
06654dd
Added another command + updated TPB + Updated incoming mapper
Shellyber Jun 6, 2023
d3ab248
Merge branch 'master' into st-zendesk-enhancement
Shellyber Jun 7, 2023
d20e0bc
Added test + small fixes
Shellyber Jun 7, 2023
326415e
Remove comment
Shellyber Jun 7, 2023
2c78872
flake8
Shellyber Jun 7, 2023
fbc7e91
Merge branch 'master' into st-zendesk-enhancement
Shellyber Jun 8, 2023
5be2c81
Fixed docs notes
Shellyber Jun 8, 2023
2ead3dc
Update docker
Shellyber Jun 8, 2023
1f04482
Merged master into current branch.
Jun 15, 2023
ac9afa7
Bump pack from version Zendesk to 2.0.8.
Jun 15, 2023
a0f65d2
Some CR comments
Shellyber Jun 18, 2023
ef488c8
Merge remote-tracking branch 'origin/st-zendesk-enhancement' into st-…
Shellyber Jun 18, 2023
5c98aa3
Merge branch 'master' into st-zendesk-enhancement
Shellyber Jun 18, 2023
940d984
Fixed release notes version
Shellyber Jun 18, 2023
3abc41d
Fixed release notes version
Shellyber Jun 18, 2023
92bd69e
Fixed cr comments + updated image
Shellyber Jun 19, 2023
b548cf8
Merge branch 'master' into st-zendesk-enhancement
Shellyber Jun 19, 2023
6290070
Fix tests
Shellyber Jun 19, 2023
30bf02f
-
Shellyber Jun 19, 2023
deb728e
-
Shellyber Jun 19, 2023
797bf3b
Merge branch 'master' into st-zendesk-enhancement
Shellyber Jun 22, 2023
9b63fa4
Last comment
Shellyber Jun 22, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@
},
"IncomingMirrorError": {
"simple": "incomming_mirror_error"
},
"Assignment Group": {
"simple": "group_id"
}
}
}
Expand Down
230 changes: 208 additions & 22 deletions Packs/Zendesk/Integrations/Zendeskv2/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -389,29 +389,31 @@ Required permissions: Agents.
`zendesk-ticket-create`
#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| subject | The subject of this ticket. | Required |
| type | The type of this ticket. Possible values are: problem, incident, question, task. | Required |
| requester | The user who requested this ticket. | Required |
| assignee_email | The email address of the agent to assign the ticket to. | Optional |
| collaborators | Users to add as CC's when creating a ticket. | Optional |
| description | The ticket description. | Required |
| recipient | The original recipient email address of the ticket. | Optional |
| status | The state of the ticket. Possible values are: new, open, pending, hold, solved, closed. | Optional |
| priority | The urgency with which the ticket should be addressed. Possible values are: urgent, high, normal, low. Default is normal. | Optional |
| due_at | If this is a ticket of type "task" it has a due date. Due date format uses ISO 8601 format. | Optional |
| email_ccs | An array of agents or end users email CCs to add or delete from the ticket. Default is add.\nThe format is '562624,562625:put,example@example.com:delete'. | Optional |
| external_id | An ID you can use to link Zendesk Support tickets to local records. | Optional |
| forum_topic_id | The topic in the Zendesk Web portal this ticket originated from, if any. | Optional |
| followers | An array of agent followers to add or delete from the ticket. Default is add.\nThe format is '562624,562625:put,example@example.com:delete'. | Optional |
| group_id | The group this ticket is assigned to. | Optional |
| organization_id | The organization of the requester. | Optional |
| problem_id | For tickets of type "incident", the ID of the problem the incident is linked to. | Optional |
| tags | The tags applied to this ticket. | Optional |
| **Argument Name** | **Description** | **Required** |
|------------------------| --- | --- |
| subject | The subject of this ticket. | Required |
| type | The type of this ticket. Possible values are: problem, incident, question, task. | Required |
| requester | The user who requested this ticket. | Required |
| assignee_email | The email address of the agent to assign the ticket to. | Optional |
| collaborators | Users to add as CC's when creating a ticket. | Optional |
| description | The ticket description. | Required |
| recipient | The original recipient email address of the ticket. | Optional |
| status | The state of the ticket. Possible values are: new, open, pending, hold, solved, closed. | Optional |
| priority | The urgency with which the ticket should be addressed. Possible values are: urgent, high, normal, low. Default is normal. | Optional |
| due_at | If this is a ticket of type "task" it has a due date. Due date format uses ISO 8601 format. | Optional |
| email_ccs | An array of agents or end users email CCs to add or delete from the ticket. Default is add.\nThe format is '562624,562625:put,example@example.com:delete'. | Optional |
| external_id | An ID you can use to link Zendesk Support tickets to local records. | Optional |
| forum_topic_id | The topic in the Zendesk Web portal this ticket originated from, if any. | Optional |
| followers | An array of agent followers to add or delete from the ticket. Default is add.\nThe format is '562624,562625:put,example@example.com:delete'. | Optional |
| group_id | The group this ticket is assigned to. | Optional |
| organization_id | The organization of the requester. | Optional |
| problem_id | For tickets of type "incident", the ID of the problem the incident is linked to. | Optional |
| tags | The tags applied to this ticket. | Optional |
| via_followup_source_id | The ID of a closed ticket when creating a follow-up ticket. | Optional |
| custom_fields | Custom fields for the ticket (this is a JSON-formatted argument, see: https://developer.zendesk.com/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values). | Optional |
| brand_id | Enterprise only. The ID of the brand this ticket is associated with. | Optional |
| custom_fields | Custom fields for the ticket (this is a JSON-formatted argument, see: https://developer.zendesk.com/documentation/ticketing/managing-tickets/creating-and-updating-tickets#setting-custom-field-values). | Optional |
| brand_id | Enterprise only. The ID of the brand this ticket is associated with. | Optional |
| comment | A comment to add to the ticket. | Optional |
| html_comment | An HTML comment to add to the ticket. | Optional |


#### Context Output
Expand Down Expand Up @@ -477,6 +479,7 @@ Required permissions: Agents.
| assignee_email | The email address of the agent to assign the ticket to. | Optional |
| collaborators | Users to add as CCs when creating a ticket. | Optional |
| comment | A comment to add to the ticket. | Optional |
| html_comment | An HTML comment to add to the ticket. | Optional |
| recipient | The original recipient email address of the ticket. | Optional |
| status | The state of the ticket. Possible values are: open, pending, hold, solved, closed. | Optional |
| priority | The urgency with which the ticket should be addressed. Possible values are: urgent, high, normal, low. | Optional |
Expand Down Expand Up @@ -788,3 +791,186 @@ To set up the mirroring:
Newly fetched incidents will be mirrored in the chosen direction. However, this selection does not affect existing incidents.
**Important Note:** To ensure the mirroring works as expected, mappers are required, both for incoming and outgoing, to map the expected fields in Cortex XSOAR and Zendesk v2.

### zendesk-group-user-list

***
Get group's users.
Allowed for: Admins, Agents and Light Agents.

*Note*: In case that the group_id does not exists. the command will return all users.
Shellyber marked this conversation as resolved.
Show resolved Hide resolved

#### Base Command

`zendesk-group-user-list`

#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| group_id | The ID of a specific group. | Required |
| limit | Maximum number of results to return. Default is 50. | Optional |
| page_size | The page size (used for pagination). | Optional |
| page_number | The page number (used for pagination). | Optional |

#### Context Output

| **Path** | **Type** | **Description** |
| --- | --- | --- |
| Zendesk.UserGroup.active | Boolean | False if the user has been deleted. |
| Zendesk.UserGroup.alias | String | An alias displayed to end users. |
| Zendesk.UserGroup.created_at | Date | The time the user was created. |
| Zendesk.UserGroup.custom_role_id | Number | A custom role if the user is an agent on the Enterprise plan or above. |
| Zendesk.UserGroup.default_group_id | Number | The ID of the user's default group. |
| Zendesk.UserGroup.details | String | Any details you want to store about the user, such as an address. |
| Zendesk.UserGroup.email | String | The user's primary email address. |
| Zendesk.UserGroup.external_id | String | A unique identifier from another system. |
| Zendesk.UserGroup.iana_time_zone | String | The time zone for the user. |
| Zendesk.UserGroup.id | Number | The user's ID. |
| Zendesk.UserGroup.last_login_at | Date | The last time the user signed in to Zendesk Support. |
| Zendesk.UserGroup.locale | String | The user's locale. |
| Zendesk.UserGroup.locale_id | Number | The user's locale ID. |
| Zendesk.UserGroup.moderator | Boolean | Whether the user has forum moderation capabilities. |
| Zendesk.UserGroup.name | String | The user's name. |
| Zendesk.UserGroup.notes | String | Any notes you want to store about the user. |
| Zendesk.UserGroup.only_private_comments | Boolean | True if the user can only create private comments. |
| Zendesk.UserGroup.organization_id | Number | The ID of the user's organization. |
| Zendesk.UserGroup.phone | String | The user's primary phone number. |
| Zendesk.UserGroup.photo | String | A URL pointing to the user's profile picture. |
| Zendesk.UserGroup.report_csv | Boolean | Whether the user can access the CSV report on the Search tab of the Reporting page in the Support admin interface. |
| Zendesk.UserGroup.restricted_agent | Boolean | Whether the agent has any restrictions; false for admins and unrestricted agents, true for other agents. |
| Zendesk.UserGroup.role | String | The user's role. Possible values are "end-user", "agent", or "admin". |
| Zendesk.UserGroup.role_type | Number | The user's role type. |
| Zendesk.UserGroup.shared | Boolean | Whether the user is shared from a different Zendesk Support instance. |
| Zendesk.UserGroup.shared_agent | Boolean | Whether the user is a shared agent from a different Zendesk Support instance. |
| Zendesk.UserGroup.shared_phone_number | Boolean | Whether the phone number is shared. |
| Zendesk.UserGroup.signature | String | The user's signature. |
| Zendesk.UserGroup.suspended | Boolean | Whether the agent is suspended. Tickets from suspended users are also suspended, and these users cannot sign in to the end user portal. |
| Zendesk.UserGroup.tags | Unknown | The user's tags. Only present if your account has user tagging enabled. |
| Zendesk.UserGroup.ticket_restriction | Unknown | Specifies which tickets the user has access to. Possible values are: "organization", "groups", "assigned", "requested", null. |
| Zendesk.UserGroup.time_zone | String | The user's time zone. |
| Zendesk.UserGroup.two_factor_auth_enabled | Unknown | Whether two factor authentication is enabled. |
| Zendesk.UserGroup.updated_at | Date | The time the user was last updated. |
| Zendesk.UserGroup.url | String | The url that points to the user's API record. |
Shellyber marked this conversation as resolved.
Show resolved Hide resolved
| Zendesk.UserGroup.user_fields | Unknown | The user fields as shown in the Zendesk user interface. |
| Zendesk.UserGroup.verified | Boolean | Whether any of the user's identities is verified. |

#### Command example
```!zendesk-group-user-list group_id=12345 limit=1```
#### Context Example
```json
{
"Zendesk": {
"UserGroup": [
{
"active": true,
"alias": "",
"created_at": "2022-03-27T08:42:06Z",
"custom_role_id": 4678497517981,
"default_group_id": 4678483739805,
"details": "",
"email": "test@user.com",
"external_id": null,
"iana_time_zone": "Asia/Jerusalem",
"id": 1908275070333,
"last_login_at": "2023-05-31T11:13:41Z",
"locale": "en-US",
"locale_id": 1,
"moderator": true,
"name": "Admin",
"notes": "",
"only_private_comments": false,
"organization_id": 4678483740317,
"phone": null,
"photo": null,
"report_csv": true,
"restricted_agent": false,
"role": "admin",
"role_type": 4,
"shared": false,
"shared_agent": false,
"shared_phone_number": null,
"signature": "",
"suspended": false,
"tags": [],
"ticket_restriction": null,
"time_zone": "Asia/Jerusalem",
"two_factor_auth_enabled": null,
"updated_at": "2023-05-31T11:13:41Z",
"url": "https://some-url/api/v2/users/1908275070333.json",
"user_fields": {},
"verified": true
}
]
}
}
```

#### Human Readable Output

>### Zendesk Group Users:
>|Id|Name|Email|Role|CreatedAt|
>|---|---|---|---|---|
>| 1908275070333 | Admin | test@user.com | admin | 2022-03-27T08:42:06Z |

### zendesk-group-list

***
Get Zendesk groups.
Allowed for: Admins, Agents.

#### Base Command

`zendesk-group-list`

#### Input

| **Argument Name** | **Description** | **Required** |
| --- | --- | --- |
| limit | Maximum number of results to return. Default is 50. | Optional |
| page_size | The page size (used for pagination). | Optional |
| page_number | The page number (used for pagination). | Optional |

#### Context Output

| **Path** | **Type** | **Description** |
| --- | --- | --- |
| Zendesk.Group.created_at | Date | The time the group was created. |
| Zendesk.Group.default | Boolean | If the group is the default one for the account. |
| Zendesk.Group.deleted | Boolean | Deleted groups get marked as such. |
Shellyber marked this conversation as resolved.
Show resolved Hide resolved
| Zendesk.Group.description | String | The description of the group. |
| Zendesk.Group.id | Number | The group ID. |
| Zendesk.Group.is_public | Boolean | If true, the group is public. If false, the group is private. You can't change a private group to a public group |
Shellyber marked this conversation as resolved.
Show resolved Hide resolved
| Zendesk.Group.name | String | The name of the group. |
| Zendesk.Group.updated_at | Date | The time of the last update of the group. |
| Zendesk.Group.url | String | The API url of the group. |
Shellyber marked this conversation as resolved.
Show resolved Hide resolved

#### Command example
```!zendesk-group-list limit=1```
#### Context Example
```json
{
"Zendesk": {
"Group": [
{
"created_at": "2023-06-06T07:44:20Z",
"default": false,
"deleted": false,
"description": "This is a group for testing",
"id": 11395818128925,
"is_public": true,
"name": "Test Group",
"updated_at": "2023-06-06T07:44:20Z",
"url": "https://some-url/api/v2/groups/11395818128925.json"
}
]
}
}
```

#### Human Readable Output

>### Zendesk groups:
>|Id| Name |IsPublic|CreatedAt|UpdatedAt|
>|------|---|---|---|---|
>| 11395818128925 | Test Group | true | 2023-06-06T07:44:20Z | 2023-06-06T07:44:20Z |

Loading