Setup Guide
This guide walks you through installing and configuring the Zendesk Support - User Sync Add-on for Storeganise. Once set up, the Add-on keeps your Storeganise customers and Zendesk Support users in sync automatically.
What this Add-on does
The Add-on creates a two-way, webhook-driven link between your Storeganise account and your Zendesk Support account. Whenever a user is created, updated, or disabled on either side, the matching record on the other side is updated to match.
What stays in sync:
- Email - both directions. Address changes propagate either way. If the new email is already used by a different record, the Add-on raises an admin task for you to resolve instead of overwriting silently.
- Name - both directions. Supports Western order (First Last) and Japanese order (Last First).
- Phone - both directions. The primary phone number mirrors between systems; any additional Zendesk phone numbers are surfaced on the Storeganise user record.
- Customer status - Storeganise to Zendesk only. The Add-on works out each customer's rental state (Active, New Prospect, or Deactivated) from their units and writes it into a Zendesk user-field of your choosing.
Once linked, each pair of records stores a pointer back to the other, so future lookups are fast. If a link ever goes stale, the Add-on repairs it automatically using email as a fallback.
Prerequisites
Before you start, make sure you have:
- A Zendesk Support account with admin access - you will grant the Add-on access via OAuth. No API tokens to create or manage.
- The ability to create a Zendesk webhook (Admin Center → Apps and integrations → Webhooks).
- (Optional) Permission to create or edit Zendesk user-fields, if you want to use the customer-status feature.
You will also need your Storeganise subdomain. This is the part before .storeganise.com in your dashboard URL. For example, if you log in at https://acme.storeganise.com, your subdomain is acme.
Step 1 - (Optional) Create the customer-status user-field in Zendesk
Skip this step if you do not need customer status shown in Zendesk.
- In Zendesk, go to Admin Center → People → User fields → Add field → Drop-down.
- Add three options. The tag for each option must be exactly as below (the labels are yours to choose):
- active
- new_prospect
- deactivated
- Save the field, then note its Field key (for example customer_status). You will enter this during installation.
Important: Use the Field key, not the numeric ID shown in the page URL.
If the field is blank or missing on a user, the Add-on simply does not write a status for that user.
Step 2 - Create the Zendesk webhook
This webhook is what tells Storeganise about changes made in Zendesk.
- In Zendesk, go to Admin Center → Apps and integrations → Webhooks → Create webhook.
- Endpoint URL - use the address below, replacing <your-storeganise-subdomain> with your own:
https://sg-zendesk-sync.unwiredlogic.app/addon/zendesk/<your-storeganise-subdomain>
For example, if your Storeganise subdomain is acme, the URL ends with /addon/zendesk/acme.
- Request method: POST
- Request format: JSON
- Authentication: None - the Add-on verifies its own signed requests.
- (Strongly recommended) Open Signing secret and set a value, then copy it - you will paste it into the Add-on settings in the next step.
- Subscribe the webhook to Any user events (the single subscription that covers the whole user.* event group).
Note: The Add-on inspects each event it receives and processes only the ones it recognises. Everything else is dropped silently with a 200 response, so subscribing broadly does not create noise or extra cost on your side.
Step 3 - Install and configure the Add-on in Storeganise
- In your Storeganise dashboard, install Zendesk Support - User Sync from the marketplace.
- Fill in the settings:
| Setting | Required | Notes |
| Zendesk Instance | Yes | Your Zendesk subdomain (e.g. acme for acme.zendesk.com. |
| Zendesk Webhook Secret | Recommended | The signing secret from Step 2. Leaving this blank skips signature verification - fine for staging, not for production. |
| Zendesk Customer Status Field Key | Optional | The Field key from Step 1 (e.g. customer_status). Leave blank if you skipped Step 1. |
| Zendesk User Name Format | Optional | First Last (default) or Last First for Japanese-order names. See Name formatting below. |
| Default Phone Country Code | Yes | An E.164 calling code in +CC form (e.g. +1, +44, +81). Used to normalise phone numbers entered in local format. |
- Activate the Add-on.
What happens on first activation
When you activate the Add-on for the first time, it automatically:
- Creates three read-only custom fields on your Storeganise user schema:
| Field | Type | Purpose |
| Zendesk User ID | Text | Stores the linked Zendesk user's ID so the Add-on can find the counterpart in a single call. |
| Zendesk Other Emails | Text list | Any additional (non-primary) Zendesk email addresses for the user. |
| Zendesk Other Phone Numbers | Text list | Any additional (non-primary) Zendesk phone numbers, in E.164 format. The primary number stays on the standard phone field. |
- Posts a Storeganise admin task named "zendesk: Authorize Zendesk OAuth connection" with a one-click link to authorize access.
Step 4 - Authorize Zendesk access
- Open the admin task "zendesk: Authorize Zendesk OAuth connection" created in Step 3.
- Click the authorize link. You will be taken to Zendesk's standard OAuth consent screen.
- Approve the request. That is it - the connection is live.
The Add-on stores no API tokens. Access is handled through a central OAuth proxy that refreshes tokens automatically and never exposes the credentials to the Add-on itself.
To revoke access later: revoke it from Zendesk's OAuth clients page. The next time the Add-on tries to sync, it will post a fresh "Authorize Zendesk OAuth connection" task so you can re-grant access.
Step 5 - Verify the sync is working
Run these quick checks after setup:
- Create a test user in Storeganise. Within a few seconds, a matching user should appear in Zendesk, linked back to the Storeganise record.
- Edit the test user's name in Zendesk. The change should reflect back to Storeganise within a few seconds.
- (Optional) Disable the test user in Storeganise. The Zendesk user should be suspended, the customer-status field should read deactivated, and a note explaining the suspension is added to the Zendesk user's profile.
If sync does not seem to be working, check the Admin tasks panel in Storeganise - that is where the Add-on reports anything it could not resolve on its own.
Name formatting
The Zendesk User Name Format setting controls how names move between the two systems, because Storeganise stores first and last name separately while Zendesk uses a single name field.
- First Last (default) - Western order, e.g. "Taro Yamada".
- Last First - Japanese order, e.g. "Yamada Taro".
When syncing a name back from Zendesk to Storeganise: names with exactly two parts are split according to your chosen format. Names with one part, or three or more parts, are placed entirely in the First Name field, with Last Name set to unknown.
How customer status is decided
Customer status is calculated in Storeganise from the user's unit rentals and written to Zendesk - it does not sync the other way. The status is decided in this order:
- Active - the customer has at least one active unit rental.
- Deactivated - the customer has been disabled in Storeganise, or has only ended (moved-out) rentals with none currently active.
- New Prospect - the customer has no unit rentals at all, typically someone who has signed up but not yet rented.
For status to appear in Zendesk you must complete Step 1 and enter the field key in the Add-on settings. If the field key is blank, or the field is not present on a given Zendesk user, status is simply not written for that user.
Troubleshooting
Most issues surface as admin tasks in Storeganise. Open the Admin tasks panel to see anything that needs your attention. Common cases:
| Symptom | What it means | What to do |
| "Authorize Zendesk OAuth connection" task keeps appearing | The Add-on cannot reach Zendesk - access was revoked or never granted. | Open the task and re-authorize (see Step 4). |
| Email conflict task | The email being synced is already used by a different record on the other side. | Review both records and merge or correct the email manually. |
| Changes in Zendesk are not reaching Storeganise | The webhook may be misconfigured. | Recheck the endpoint URL, method, format, and event subscription in Step 2. |
| Customer status is not showing in Zendesk | The field key is missing or the field is not set up correctly. | Confirm the field key matches and the dropdown uses tags active, new_prospect, deactivated (see Step 1). |
| Signature verification errors | The webhook secret in Storeganise does not match Zendesk's signing secret. | Re-copy the signing secret from Zendesk into the Add-on settings. |
FAQ
Do I need to create a Zendesk API token?
No. Access is granted through OAuth in Step 4. There are no tokens to create, store, or rotate.
Which direction does each field sync?
Email, name, and phone sync both ways. Customer status syncs from Storeganise to Zendesk only.
What happens to additional emails and phone numbers in Zendesk?
The primary email and phone mirror between systems. Any additional Zendesk emails and phone numbers are surfaced on the Storeganise user in the Zendesk Other Emails and Zendesk Other Phone Numbers fields.
Will the sync loop or create duplicate updates?
No. Every change is compared against the current value before anything is written, so a single edit produces one real update and no echo back and forth.
Can I run this for more than one Storeganise account?
Yes. One installation can serve multiple Storeganise accounts, each configured and processed independently.
Is anything ever overwritten without warning?
No. Conflicts (such as a duplicate email) are raised as admin tasks for you to resolve rather than being overwritten silently.
If I re-enable a disabled user in Storeganise, will their Zendesk account be unsuspended?
No. Disabling a user in Storeganise suspends the matching Zendesk account and adds a note, but re-enabling them in Storeganise does not automatically unsuspend Zendesk. If appropriate, unsuspend the Zendesk user manually.
Comments
0 comments
Please sign in to leave a comment.