ZapBounce and Zendesk
Zendesk creates a user record from any address that emails your support channel, and from any address an agent types into a ticket.
That includes addresses that were wrong in the first place, and the resulting user then receives every ticket notification for a conversation they cannot see.
Every incoming address becomes a user
Automatic user creation is what makes email support work, and it also means your user base accumulates addresses nobody validated: forwarded addresses, mailing list addresses, and agent typos.
Ticket notifications go to those users, bounce, and in volume that affects the reputation of the domain your support notifications come from.
Because support notifications are transactional in nature, a reputation problem there reaches customers who did nothing wrong.
How the data moves
Verify users on creation through a trigger and webhook
Zendesk triggers can fire on user creation and call an external target.
Store the verdict as a user field
Zendesk user fields are visible to agents and usable in views and triggers.
Suspend rather than delete
Suspended users stop receiving notifications and keep their ticket history, which support needs.
Batch-verify the existing user base once
Years of automatic creation means the accumulated problem is larger than the ongoing one.
Setting it up
- Create a user field for the verdict and one for the check date.
- Add a Zendesk trigger on user creation calling an external target.
- Verify the address in your handler and write the verdict back through the API.
- Build a view of users with an invalid verdict for review.
- Suspend users whose addresses are definitively invalid.
- Run a one-off batch verification of the existing user base.
Zendesk: common questions
Why does Zendesk have so many odd users?
It creates one from any address that emails support, including forwarded, mailing-list and mistyped ones.
Suspend or delete?
Suspend. Notifications stop, and the ticket history that support may need stays available.
Where should verification run?
A trigger on user creation, plus a one-off batch over the users created before you set it up.
Six years of automatically created users
Say your Zendesk account is six years old and holds 48,000 end users. Around 31,000 of them were created automatically from inbound email, and nobody has ever looked at them as a list. Export the users, run the batch, and suppose 3,900 come back invalid.
Look at who those 3,900 are before you suspend anyone. A typical mix: addresses at companies that have since closed or rebranded, former employees of your customers, and no-reply senders whose automated mail once hit your support address and became users. That last group is worth a search of its own. A user called noreply@ or mailer-daemon@ will never read a notification.
Then check for open tickets. If 140 of the invalid users have a ticket still open, those are conversations where your replies have been bouncing, and the customer may think you went quiet. Find another way to reach those 140 before you tidy up the rest.
Wiring the check to new users
Zendesk's ticket triggers fire on ticket events, so for a brand-new user the dependable hook is a webhook subscribed to the user created event, which Zendesk offers alongside trigger-driven webhooks. Your handler receives the user's id and email, calls the verify endpoint, and writes the result back with a PUT to /api/v2/users/{id}, setting your custom fields inside the user_fields object.
Keep the handler quick and forgiving. Acknowledge the webhook first and do the check after. If the check times out, leave the field empty and let a nightly job fill it in. An empty field should read as "not checked yet" in your views, never as a pass or a fail.
Suspension is one more property on that same user record, and it's easy to reverse if the customer turns up with a corrected address. Reserve it for invalid results. A catch-all or unknown result on a business customer is normal, and suspending on those would cut off a good share of your real users.
Check a Zendesk export today
100 free checks a month, no card. Unknown results and duplicates are never billed.