In order for SweetHawk apps that are installed on your Zendesk account to work properly, they need to be able to talk to the SweetHawk servers and vice versa, SweetHawk servers need to be able to talk to your instance of Zendesk.
So if things aren't working as they should then there may be an issue with how the apps communicate.
Some of the many symptoms that server communication has been impeded might be:
- The app appears correctly in the sidebar, top bar and/or in the admin panel but...
- All apps: You're not receiving popup notifications
- Tasks: Solving a sub-ticket doesn't automatically mark it as completed in the parent ticket.
- Deadline/Due Time: The deadline_now or due_now tag isn't being added to the ticket when the deadline hits.
- Calendar: The calendar 'event_started' tag isn't being added when an event starts.
- Approvals: When an approval is granted, it's not posting it in the comment stream of the ticket.
Fixing the problem
Suggestion 1: Deauthorize and Reauthorize the REST API
The first thing you can do is to disable and re-enable API authorisation making sure the when you do this that you're logged in as a Zendesk administrator. To do this:
- Click on the app's icon in the left-hand bar
- Depending on the app you may need to either go to the Admin tab or the Settings tab.
- Click 'Deauthorize REST API', the page will refresh
- Click 'Authorize API' and follow the Zendesk prompts to grant access to SweetHawk apps.
A refresh of the Zendesk browser tab may be required once this has been completed. At this point, you should test to see if the problem has been resolved.
The most common reason for when this is required is when the Zendesk administrator who originally authorized the app has left the company and their account no longer has the required access for the app to function. Ideally this should be done prior to their departing as to ensure no disruptions.
Suggestion 2: Disabling and re-enabling the app
Do not uninstall the app. This is completely different from disabling an app and doing this could cause you to lose data.
When you install a SweetHawk app, part of the installation process is to create special triggers that are linked to the app. These triggers are there to allow your Zendesk to talk to our servers so that our servers know what and when to do stuff to your account (like showing a popup notification or adding a tag to a ticket at the right time). If you disable one of these triggers, then our servers no longer get sent the information they need to be able to do those things.
Here's a list of the special triggers for each app that uses them:
Tasks: "App - Tasks - Update parent task" & "App - Tasks - Setup task list"
Calendar: "App - Calendar - Update app server"
Approvals: "App - Approvals - Update app server"
Deadline: "Update deadline"
Due Time: "App - Due Time - Update app server"
Survey: "App - Survey - Set requester token" & "App - Survey - Clear survey data"
You can check that the right trigger(s) exist by looking through your list of active triggers.
The main issue about these triggers is that while Zendesk allows you to de-activate them, Zendesk does not allow you to re-activate them. The good news is that there is still a simple enough solution, that is to deactivate and reactivate the app. The act of doing this kicks Zendesk back into gear and makes the special triggers active again (even if they've been deactivated).
To deactivate an app click on the cog in the main bar on the left, then under 'APPS' click on 'Manage' and finally, right click on the app in question and flick the switch to disable it like this:
Wait 10 seconds before re-enabling it using the same switch.
Once the app has been re-enabled, refresh your browser and then test your app to make sure the problem is resolved.
If you are on a Zendesk Enterprise plan, you can check the audit logs to confirm which administrator has disabled these triggers and take the necessary actions to ensure this does not occur again.
Suggestion 3: Conditional fields (Enterprise and selected Suite plans only)
This feature is only available on selected Zendesk plans which you can learn more about here. If you do not have access to forms then this suggestion can be ignored.
Zendesk has a feature that allows you to define conditions for when a ticket field appears. The problem is that it's not always obvious what is causing the issue since our apps will also hide ticket fields in the background in order to function. If you have applied conditions to any of these fields, it will prevent the field from loading rather than simply hiding it which is why it can prevent the app from working.
This solution would be to first confirm if you have conditions in place for SweetHawk ticket fields and then either alter or remove them entirely since these fields are likely already hidden by the app.
In the example above, the Deadline time ticket field is used by our Deadline app to create a deadline and if these conditions are not met, the field will not be present on the ticket thus causing the deadline not to get created.
You can learn more about the different ticket fields and which apps they would affect in an article we wrote here.
If you're still having trouble after trying the above suggestions email firstname.lastname@example.org and we can help with further troubleshooting.