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

feat: Zendesk #2780

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
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
Prev Previous commit
Next Next commit
salesforce
harshilp24 committed Jan 30, 2025

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 29a2c2d1674beca87000be893f168faac61db374
37 changes: 37 additions & 0 deletions website/docs/connect-data/reference/salesforce.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

<Tabs>
<TabItem value="apple" label="Create Commands" default>

This tab contains all **Create Commands**, including creating records for **Contact, Lead, Opportunity, Task, and Account**.

| Name | Description | Example | Where to Find ID |
|-------------------|--------------------------------------------------|--------------------------------|------------------------------|
| id | Unique identifier for the record | 0031t00000sGpZXAAQ | Automatically generated by Salesforce |

Check failure on line 11 in website/docs/connect-data/reference/salesforce.md

GitHub Actions / run_vale

[vale] reported by reviewdog 🐶 [Google.Units] Put a nonbreaking space between the number and the unit in '00000s'. Raw Output: {"message": "[Google.Units] Put a nonbreaking space between the number and the unit in '00000s'.", "location": {"path": "website/docs/connect-data/reference/salesforce.md", "range": {"start": {"line": 11, "column": 79}}}, "severity": "ERROR"}
| accountId | The ID of the associated Account | 0011t00000BHiNKAA3 | Found in the Account record URL |

Check failure on line 12 in website/docs/connect-data/reference/salesforce.md

GitHub Actions / run_vale

[vale] reported by reviewdog 🐶 [Google.Units] Put a nonbreaking space between the number and the unit in '00000B'. Raw Output: {"message": "[Google.Units] Put a nonbreaking space between the number and the unit in '00000B'.", "location": {"path": "website/docs/connect-data/reference/salesforce.md", "range": {"start": {"line": 12, "column": 79}}}, "severity": "ERROR"}
| name | Name of the record (e.g., Opportunity Name) | New Business Opportunity | Entered by the user during creation |

Check failure on line 13 in website/docs/connect-data/reference/salesforce.md

GitHub Actions / run_vale

[vale] reported by reviewdog 🐶 [Google.Latin] Use 'for example' instead of 'e.g.,'. Raw Output: {"message": "[Google.Latin] Use 'for example' instead of 'e.g.,'.", "location": {"path": "website/docs/connect-data/reference/salesforce.md", "range": {"start": {"line": 13, "column": 43}}}, "severity": "ERROR"}
| stageName | The stage of the Opportunity (e.g., "Prospecting")| Prospecting | Selected from a picklist field |

Check failure on line 14 in website/docs/connect-data/reference/salesforce.md

GitHub Actions / run_vale

[vale] reported by reviewdog 🐶 [Google.Latin] Use 'for example' instead of 'e.g.,'. Raw Output: {"message": "[Google.Latin] Use 'for example' instead of 'e.g.,'.", "location": {"path": "website/docs/connect-data/reference/salesforce.md", "range": {"start": {"line": 14, "column": 53}}}, "severity": "ERROR"}
| expectedRevenue | Estimated revenue from the Opportunity | $50,000 | Entered by the user |
| closeDate | The projected close date of the Opportunity | 2025-06-30 | Entered by the user |
| SLA | Service Level Agreement related to the Opportunity | Standard SLA | Selected from the related SLA record |
| serialNumber | Unique serial number for a product or asset | SN123456789 | Entered by the user during creation |
| numberOfLocations | Number of locations associated with the account | 3 | Entered by the user |
| accountPlan | The account's strategic plan | Gold Plan | Selected from a predefined list or entered by the user |

</TabItem>



<TabItem value="orange" label="Update Commands">

This tab contains all **Update Commands**.

</TabItem>

<TabItem value="banana" label="Get Commands">

This tab contains all **Get Commands**.

</TabItem>
</Tabs>
148 changes: 82 additions & 66 deletions website/docs/connect-data/reference/zendesk.md
Original file line number Diff line number Diff line change
@@ -59,64 +59,19 @@
The following section is a reference guide that provides a description of the available commands with their parameters to create Zendesk queries.


### List

<dd>

The list command retrieves all tickets from your Zendesk account. The response includes ticket data along with metadata such as status, rate limits, and headers.

*Example response:*

```js
{
"data": {
"status": 200,
"headers": {
"content-type": "application/json; charset=utf-8",
"x-zendesk-api-version": "v2",
"x-rate-limit": "400",
"ratelimit-remaining": "398"
},
"output": {
"tickets": [
{
"id": 12345,
"subject": "Login issue with user account",
"status": "open",
"assignee": "agent1",
"priority": "high"
}
],
"count": 1
}
}
}
```

The response for the list command includes the following:

- **status**: The HTTP status code of the response (e.g., `200`).
- **headers**: Contains response metadata, such as `content-type`, `x-zendesk-api-version`, and rate limit information like `x-rate-limit` and ratelimit-remaining.
- **output**: Contains the list of tickets and the total count of tickets.
- **tickets**: An array of ticket objects, each containing details such as `id`, `subject`, `status`, `assignee`, and `priority`.
- **count**: The total number of tickets returned in the response.

</dd>


### Create Ticket

The create ticket command allows you to generate a new ticket in Zendesk by providing relevant details such as the subject, description, requester information, and optional fields like tags, priority, and due dates. It is used to log new issues or requests in the system for tracking and resolution.



#### Subject
#### Ticket Subject `string`

<dd>

This property defines the title or brief description of the issue or request. It helps to summarize the content of the ticket in a concise manner, allowing for easier identification and prioritization.

*Example:* If you want to dynamically set the subject from an input widget, use:
*Example:* If you want to dynamically set the subject from an Input widget, use:

```js
{{Title_Input.text}}
@@ -127,13 +82,12 @@
</dd>


#### description
#### Ticket Description `string`

<dd>

This property provides a detailed explanation of the issue or request. It allows the requester to fully describe the problem or inquiry, helping the support team understand the context and provide better assistance. The description must include relevant details, such as steps to reproduce the issue, error messages, or any other information that can aid in resolving the ticket.


*Example:* If you want to dynamically set the subject from an Input widget, use:

```js
@@ -143,51 +97,55 @@
</dd>


#### Requester Name
#### Ticket Requester Name `string`

<dd>

This property holds the name of the person submitting the ticket. It identifies the individual who needs assistance or support, allowing for personalized communication and a more effective resolution process. If not provided, Zendesk will automatically use the name associated with the account.
This property holds the name of the person submitting the ticket. It identifies the individual who needs assistance or support, allowing for personalized communication and a more effective resolution process.

*Example:* To dynamically set the requester name from the logged-in user's information, use:
*Example:* If you want to dynamically set the Requester Name from an Input widget, use:

```javascript
{{appsmith.user.username}}
{{user_name.text}}
// Example: "John Doe"
```

</dd>

#### Requester Email
#### Ticket Requester Email `string`

<dd>

This property holds the email address of the person submitting the ticket. It ensures the requester can be contacted for updates, resolutions, or clarifications. If not provided, Zendesk will automatically use the email associated with the account.
This property holds the email address of the person submitting the ticket. It ensures the requester can be contacted for updates, resolutions, or clarifications.

*Example:* To dynamically set the requester email from the logged-in user's information, use:
*Example:* If you want to dynamically set the Requester Email from an Input widget, use:

```javascript
{{appsmith.user.email}}
{{user_email.text}}
// Example: "[email protected]"
```
</dd>


#### Assignee Id
#### Assignee Id `number`

<dd>

This property defines the Zendesk Agent assigned to handle the ticket. It helps track responsibility for resolving the issue, ensuring that each ticket is directed to the appropriate support representative. If not provided, the ticket will remain unassigned.
This property defines the Zendesk Agent assigned to handle the ticket. It helps track responsibility for resolving the issue, ensuring that each ticket is directed to the appropriate support representative. If not specified, the ticket remains unassigned.

The Assignee ID is a unique numeric identifier for each Zendesk Agent. Users can find it in the Zendesk Admin Center under [Team Members](https://support.zendesk.com/hc/en-us/articles/8357765446554-Get-Assignee-ID-Group-ID-and-Field-ID-Zendesk-Support-Ultimate#:~:text=An%20Assignee%20Id%20is%20the,Admin%20Center%20%3E%20People%20%3E%20Team%20members).

*Example:* To dynamically set the assignee ID from a dropdown or user selection, use:

*Example:* To dynamically set the Assignee ID (*Agent ID*) from a Select widget, use:

```js
{{fetch_agent.selectedOptionValue}}
//632345679
```

</dd>

#### Type
#### Ticket Type

<dd>

@@ -200,7 +158,7 @@

</dd>

#### Priority
#### Ticket Priority

<dd>

@@ -213,7 +171,7 @@

</dd>

#### Status
#### Ticket Status

<dd>

@@ -228,7 +186,7 @@

</dd>

#### Due At
#### Ticket Due At

<dd>

@@ -242,7 +200,7 @@

</dd>

#### Tags
#### Ticket Tags

<dd>

@@ -252,7 +210,8 @@

</dd>

#### External Id

#### Ticket External Id

<dd>

@@ -262,6 +221,63 @@

</dd>

#### Ticket Custom Fields

<dd>

This property is used for associating the ticket with an external system or tracking reference. It helps link the ticket to an issue in a different tool or system.

*Example:* If the ticket is related to a bug tracked in an external issue tracker, the external ID could be the reference number from that system.

</dd>



### List

<dd>

The list command retrieves all tickets from your Zendesk account. The response includes ticket data along with metadata such as status, rate limits, and headers.

*Example response:*

```js
{
"data": {
"status": 200,
"headers": {
"content-type": "application/json; charset=utf-8",
"x-zendesk-api-version": "v2",
"x-rate-limit": "400",
"ratelimit-remaining": "398"
},
"output": {
"tickets": [
{
"id": 12345,
"subject": "Login issue with user account",
"status": "open",
"assignee": "agent1",
"priority": "high"
}
],
"count": 1
}
}
}
```

The response for the list command includes the following:

- **status**: The HTTP status code of the response (e.g., `200`).

Check failure on line 272 in website/docs/connect-data/reference/zendesk.md

GitHub Actions / run_vale

[vale] reported by reviewdog 🐶 [Google.Latin] Use 'for example' instead of 'e.g.,'. Raw Output: {"message": "[Google.Latin] Use 'for example' instead of 'e.g.,'.", "location": {"path": "website/docs/connect-data/reference/zendesk.md", "range": {"start": {"line": 272, "column": 53}}}, "severity": "ERROR"}
- **headers**: Contains response metadata, such as `content-type`, `x-zendesk-api-version`, and rate limit information like `x-rate-limit` and ratelimit-remaining.
- **output**: Contains the list of tickets and the total count of tickets.
- **tickets**: An array of ticket objects, each containing details such as `id`, `subject`, `status`, `assignee`, and `priority`.
- **count**: The total number of tickets returned in the response.

</dd>



### Update Ticket