Recent searches


No recent searches

Niall Colfer's Avatar

Niall Colfer

Joined Apr 14, 2021

·

Last activity Dec 09, 2021

Following

0

Followers

0

Total activity

23

Votes

2

Subscriptions

14

ACTIVITY OVERVIEW

Latest activity by Niall Colfer

Niall Colfer created an article,

ArticleHelp with user management

Question

Is it possible to recover an organization or user if it was accidentally deleted?

Answer

No, it's not possible to recover a deleted organization or user. Zendesk is unable to recover the organization or user on your behalf in accordance with the Data Recovery Policy.

Closed tickets in the account retain a property called Ticket Organization, which stores the ID of the organization even after deletion. This can be used in Explore to review the data, or when reading the ticket through the API.

Edited Jan 22, 2024 · Niall Colfer

0

Followers

5

Votes

6

Comments


Niall Colfer created an article,

ArticleHelp with live chat

Question

I'd like to receive notifications for new chats. How can I get desktop notifications for Chat?

Answer

Every agent has the option to enable notifications in Chat settings.

chat_sound_notifications.png

For detailed instructions, see this article: Editing your chat notification settings.

Also, ensure that your browser has permission to send notifications. See the articles below for browser-specific information.

If you're having issues with Chat notifications not appearing make sure your network is stable and extensions are disabled.

Edited Feb 12, 2024 · Niall Colfer

0

Followers

11

Votes

5

Comments


Niall Colfer created an article,

ArticleHelp with apps and integrations

Question

How can I sync a lookup field from SFDC to Zendesk Support? When I set it up I only see the record ID in Zendesk, which is not helpful.

Answer

Lookup fields in SFDC behave a bit differently than others: the raw information stored in this field is a record ID, and Salesforce looks up the relevant details when you are viewing it. If this data were to be synced over to Zendesk Support, we would only have the SFDC record ID. For this reason, our integration does not allow lookup fields to be mapped for syncing.

In order to convert this to a usable data type, it's possible to create a custom formula field with the appropriate type (usually "text"), and automatically fill in the value of the record via that lookup field. Use the custom field when syncing from SFDC to Zendesk, and the value will carry over.

Example use case:

A common example it syncing Parent Account information. SFDC Accounts sync to Zendesk Organizations, but Orgs have a flat structure in Zendesk and do not have any hierarchy. A custom field mapping is required to bring over the Parent Account, but since this a Lookup field in SFDC we get a generic record ID which is not the best user experience, and we can make it better.

1. Create a custom field in Zendesk Support

The first step is to create a custom field in Zendesk to capture this information. The type of field will depend on the information you want to capture. In our case, it is an Org level field and we'll use a Text field type to gather the name of the Parent Account.

  1. Go to Admin > Manage > Organization Fields.
  2. Drag Text from the right.
  3. Give it a useful name, e.g. Parent Account.

2. Create a formula field in SFDC:

Now we need an appropriate type field in SFDC to populate the data via a formula. Again, the type will depend on your information - in our case it will be a Text field on the Account.

  1. Go to Setup > Customize > Accounts > Fields and create a new custom field.
  2. Choose the data type Formula.
  3. Give it a label such as Parent Account Name, and choose Formula Return Type such as Text.
  4. In the Enter Formula box, you'll need to build the formula for this field. Our use case is pretty simple, so choose the Advanced Formula editor, and click the Insert Field button.
  5. Select the right data field, e.g. Account > Parent Account > Account Name:

  6. Finish the setup by adding whichever security settings and page layout settings you prefer.

3. Configure the field mapping:

Now that the fields exist in both locations, we just need to add the connection.

  1. In Zendesk, open Admin Center, and navigate to the Salesforce Integration page
  2. Select the Account to Organizations Sync and click Configure, then scroll down to Field Mapping.
  3. Click on the Add Mapping button
  4. Choose the Salesforce Field from step 2. Parent Account Name, and wait for the Zendesk Support Field to load.
  5. Select the Zendesk field from step 1. Parent Account.
  6. Click the Save button to complete.

4. We're done!

The configuration is complete, and the data should be synced between these fields from then on. I'd suggest enabling the ongoing sync and testing on a couple of records, or performing a small sample bulk sync to ensure the config is set up exactly as you want it, before doing a larger scale bulk sync.

One important thing to note: changes to these formula fields do not directly trigger a sync due to limitations in the Salesforce Streaming API. In order to work around this limitation, we recommend following this workflow: https://support.zendesk.com/hc/en-us/articles/4408823413658 

 

For more information on Salesforce, see the article: Setting up Zendesk for Salesforce integration.

Edited Aug 21, 2024 · Niall Colfer

4

Followers

18

Votes

3

Comments


Niall Colfer created an article,

ArticleUsing live chat

To use the Chat API in Support+Chat accounts and Phase 4 Chat accounts, you need to generate an OAuth access token to authenticate API requests. Basic authentication is not supported. However, generating a token for the first time can be a bit confusing so this tutorial provides step-by-step examples of how to generate a token manually. After you're done, you should have a token that you can use in Chat API requests to read and write data.

If you're building an application, then you should build the token-generating functionality into your app to automate the process.

There are two ways to create an access token for the Chat API -- a quicker, more convenient way for testing environments (using "Implicit" grant flow), and a longer, more formal way for production environments (using "Authorization Code" grant flow). This tutorial covers both.

Conditions

This tutorial is intended for integrated Chat accounts which have had all of the changes referenced in the above article applied. This is currently being rolled out gradually, so some accounts may require it before others. If you're not sure whether your account has received all of the changes, feel free to reach out to our Support team who can confirm for you.

Note: One side effect of the account changes is that OAuth tokens will need to be recreated. If you complete this tutorial before the changes have reached your account, you'll need to run through the steps again afterwards.

Procedure

The OAuth "Implicit" grant flow has the following steps:

  1. Create the OAuth API client
  2. Complete the OAuth implicit grant flow to get the token using information from step 1

Create the OAuth API client

First of all, we need an API client. Go to Zendesk Chat > Account > API & SDKs and click the Add API Client button. Enter a name for the client and company of your choosing, and for the Redirect URL enter http://localhost:8080. It should look something like this:

Click on Create API Client to finish the setup. You will be shown a popup with the Client ID and secret. Very important: The client secret is shown only once, so make a note of it for later use. It will look like this:

Now that our API client is ready to go, make note of your Client ID and Client Secret before clicking Okay, got it. We're now ready to complete the OAuth grant flow.

Complete the OAuth implicit grant flow to get the token

This approach uses the OAuth "Implicit" grant flow. An alternate approach is to use the OAuth "Authorization Code" grant flow (shown in the next section). If doing manually, this approach has fewer steps and is more convenient than the authorization code grant flow showed later.

1. Follow the "Creating the OAuth API client" step above

2. Collect this information from the OAuth client

  • Client ID: CLIENT_ID
  • Your Zendesk subdomain

3. Format the below URL with your own CLIENT_ID and SUBDOMAIN, paste it into a new browser tab, and press Enter.

https://{subdomain}.zendesk.com/oauth2/chat/authorizations/new?response_type=token&client_id=CLIENT_ID&scope=read%20write&subdomain=SUBDOMAIN

NOTES:

  • If the Chat OAuth client only has one Redirect URL value then passing a redirect_uri value is optional. The system will use the OAuth client's one Redirect URL value by default.
  • If the OAuth client has more than one Redirect URL value then passing a redirect_uri value is required. If a redirect_uri value is passed then it needs to be URL encoded. In the above example, the optional redirect parameter would be: redirect_uri=http%3A%2F%2Flocalhost%3A8080

4. The call will be made, possibly asking you to log in and select 'Allow' to generate the token.

If the call succeeds, your browser's address field will contain your new OAuth token (returned as the access_token value).

Despite the seeming error message displayed in the browser's main window, if 'access_token' is returned in the browser's URL field then it worked!

Here's a demo of the workflow:

 

A longer, alternate way of generating the token

These steps create a token just like the previous section but demonstrates the OAuth "Authorization Code" grant flow. Make a note of your OAuth client details, which will be used below.

Placeholders will be used instead of real data - remember that your OAuth client's secret should be treated with the utmost security as it is essentially a password into your Chat account.

  • Client ID: CLIENT_ID
  • Client secret: CLIENT_SECRET
  • Redirect URI: http://localhost:8080
  • Subdomain: your Zendesk subdomain; e.g. if your account is at niall.zendesk.com, this value is niall
  • Authorization code: we don't have this yet

1. Prepare the first URL

Here we will create a URL to request an authorization code. You will need to go to https://{subdomain}.zendesk.com/oauth2/chat/authorizations/new, and add some query parameters to pass some of the above information. This time we need:

  • response_type: this will always be code
  • redirect_uri: where we will be redirected after granting access, http://localhost:8080 for our tutorial
  • client_id: specific to you, as written down earlier
  • scope: what access this token will have, we will choose read and write
  • subdomain: your Zendesk subdomain

Putting this altogether and URL encoding it will give you a final URL which looks like this:

https://{subdomain}.zendesk.com/oauth2/chat/authorizations/new?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A8080&client_id=CLIENT_ID&scope=read%20write&subdomain=SUBDOMAIN

with CLIENT_ID and SUBDOMAIN being the only differences for your own URL.

2. Prepare the cURL call

Before actually visiting that URL, let's build the cURL call that we will run after. This time we will need the following:

  • grant_type: this will always be authorization_code
  • code: this will be gotten after we permit access from the URL
  • client_id: your client ID
  • client_secret: your client secret
  • redirect_uri: same as the last step - http://localhost:8080
  • scope: same as the last step - read and write

When we put this all together we get a command which should look something like:

curl https://{subdomain}.zendesk.com/oauth2/chat/ \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -d 'grant_type=authorization_code&code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=http%3A%2F%2Flocalhost%3A8080&scope=read%20write' \
 -X POST

Remember: you should already have CLIENT_ID and CLIENT_SECRET now, but we don't have AUTH_CODE just yet.

3. Get your authorization code

Now go the URL we generated in step 1. You will see a page like this:

Click Allow to grant access, and you will be redirected to the redirect URL. It will look like a broken page, but the important thing is to look in the URL to see what the authorization code is, i.e. everything after ?code=

Copy that code, and let's get ready for the final step! The authorization code is only valid for a short time. If you wait more than a few minutes, you may have to re-run the above step to get a new code value.

4. Make the cURL call to get your token

Referring back to our cURL call we had constructed in step 2, which looks like this

curl https://{subdomain}.zendesk.com/oauth2/chat/token \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -d 'grant_type=authorization_code&code=AUTH_CODE&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=http%3A%2F%2Flocalhost%3A8080&scope=read%20write' \
 -X POST

replace AUTH_CODE with the code from step 3, and run the command from a terminal application. You will receive a response in the form of a JSON object like this:

{
 "access_token": "TOKEN",
 "token_type": "Bearer",
 "refresh_token": "REFRESH_TOKEN",
 "scope": "read write"
}

5. Test out the new token

It's always a good idea to test things out to confirm it worked as you expected, so we can do that now. The easiest call to make is just a simple GET to /api/v2/chats to see your account's information:

curl https://{subdomain}.zendesk.com/api/v2/chat/chats -H "Authorization: Bearer TOKEN"

replacing TOKEN with that retrieved in step 4. 

Additional information

Confidential client_type

The above sections demonstrated the "Implicit" grant type and "Authorization Code" grant type. The Chat API also supports the confidential grant type using client credentials. This is described more in the reference documentation under Confidential grant types.

For API calls used by admins and agents for such things as reporting metrics, getting an OAuth token with the confidential grant type may be preferable. You will need to set the client_type as "confidential". By default this value is set to "public". This can only be done via the API, and can be achieved as follows:

1. Get the client ID

First we'll need the ID of your new client. You can get this using your new token, with the following call:

curl https://{subdomain}.zendesk.com/api/v2/chat/oauth/clients -H "Authorization: Bearer TOKEN"

which will show you all of your clients. You may only have one, but if you do have many you should pick the one you wish to update, and note its ID.

2. Update the client_type

Now that you have the ID of the client, you can run the following cURL call to update the client_type property:

curl https://{subdomain}.zendesk.com/api/v2/chat/oauth/clients/{client_ID} -d '{"client_type": "confidential"}' \
 -X PUT -H "Content-Type: application/json" -H "Authorization: Bearer TOKEN"

Once that is complete, your token can be used for restricted endpoints.

Edited Nov 11, 2024 · Niall Colfer

8

Followers

39

Votes

15

Comments


Niall Colfer created an article,

ArticleHelp with Web Widget

Question

How can I change the text that is displayed on the Web Widget (Classic) button when a customer first comes to my website?

Answer

Tip: Determine the widget you are using by referencing this article: Which widget do I have with my Zendesk account?

If you have the Support Web Widget (Classic)

You can set the widget button to say Help, Support or Feedback. To select one of those words go to Admin Center > Channels > Classic > Web Widget. Select the widget you want to change, then click on the Style tab. Scroll to the very bottom of the Style tab and here you can select your preferred word for the widget button text from the dropdown menu: Help, Support, or Feedback.

You can also change the Contact form button text in the same place, if your contact form is currently toggled on in the Web Widget (Classic) settings.

Note: Depending on what contact options you have enabled, the text you choose may be overridden by Chat or Call us. For more information, visit this article: How do I change the text on the widget button on my website?

If you would like to place your own custom word or phrase on the widget button, you can use custom code as described in this article: Advanced customization of your Web Widget (Classic).

Edited Jan 12, 2024 · Niall Colfer

0

Followers

5

Votes

4

Comments


Niall Colfer created an article,

ArticleHelp with live chat

Question

How do I cancel my Zendesk Chat, formerly known as Zopim, subscription?

Answer

This depends on how your Chat account was created and how it is integrated with Support. There are four versions of Chat accounts:

If you have issues determining your Zendesk Chat account version, see the article: Determining your Zendesk Chat account version.

Zendesk Chat Phase 3 and Phase 4

You can cancel your chat phase 3 or chat phase 4 account from Admin Center as described in this article: Cancelling products and accounts.

I don't see these options

In both cases, the action can only be taken by the account owner as they are the only admin with permission to cancel an account.

If you have a managed account or sales-assisted account, reach out to your account manager within Zendesk to update the subscription and cancel Chat. Some self-service accounts must contact Zendesk to cancel.

Warning: Cancellation takes effect at the end of your current billing cycle. At that point, you'll lose access to your account and all your account data will be deleted. This will give you time to migrate data or tie up any other loose ends. All data will be deleted according to the Zendesk Service Data Deletion Policy.

Edited Jan 15, 2024 · Niall Colfer

3

Followers

35

Votes

25

Comments


Niall Colfer created an article,

ArticleHelp with objects and rules

Issue symptoms

When I use the {{ticket.title}} placeholder in notifications to end users in triggers and automations, the placeholder is replaced with the first comment of the ticket instead of the subject.

Resolution steps

If this is happening in your account, this means that the Subject field isn't visible to customers in your account.

When the Subject field is deactivated or is active with the permissions set to Agents can edit, the Subject field is not visible to end users, and so the placeholder renders the description of the ticket instead. This is the first comment on the ticket. To use the Subject field in notifications to end users, the Subject must be visible to end users.

For help to reactivate this field, see this article: Deactivating and reactivating ticket fields.

Note: When a ticket is without public comments the {{ticket.title}} placeholder in notifications to end users will render as "Untitled Ticket." Ensure the Subject field is visible to end users and the ticket has at least one public comment. 

Edited May 10, 2024 · Niall Colfer

5

Followers

14

Votes

4

Comments