Open a Zendesk onboarding ticket for each new Polar customer
A Polar + Zendesk agent flow
Someone buys through Polar and your support team has no idea a new customer exists until that customer writes in confused. Flip the order: open the onboarding ticket the moment they purchase. The agent lists customers with polar_customers_list, reads the ones created since the last run, and opens a Zendesk ticket per new customer with create_ticket, pre-filled with their email and a welcome checklist for an agent to work. Polar answers the list request rather than pushing, so the agent runs on a cadence, every few minutes, and a customer it has already onboarded, matched by Polar id, doesn't get a second ticket. Support reaches out first instead of reacting last.
The flow
polar_customers_listLists customers.
create_ticketCreate a new Zendesk ticket.
Step by step
- List new customers
The agent calls polar_customers_list newest-first and reads down until it hits a Polar customer id it has already processed. Each entry carries the customer id, email, and name.
- Skip the already-onboarded
It tracks the Polar customer ids it has opened tickets for, or searches Zendesk for a ticket tagged with that id, so a customer who lingers across runs isn't ticketed twice.
- Open the onboarding ticket
create_ticket files a ticket with the customer's email as the requester, a subject like New customer onboarding, and a body holding the welcome steps and the Polar customer id for traceability.
Tell your agent
Every five minutes, list Polar customers created since the last run, and for each new one open a Zendesk ticket titled 'Onboard <name>' with the customer's email as requester and our welcome checklist in the body. Tag it with the Polar customer id and skip customers already onboarded.
Setup
This flow needs both servers connected to your agent. Follow each install guide:
Worth knowing
- polar_customers_list returns the customer record; it doesn't tell you what they bought. If the ticket should mention the product or plan, the agent reads polar_orders_list or polar_customers_get_state as a second call and joins on the customer id.
- create_ticket sets the requester by email. A customer with no email on the Polar record can't become a requester cleanly, so decide whether to skip those or file the ticket under a fallback address with the id in the body.
- Tag every ticket with the Polar customer id and dedupe on it. Email alone is shaky, since the same person can buy twice or change addresses, and you don't want a duplicate onboarding ticket each run.
Questions
- Why a support ticket and not a CRM record?
- A ticket gives the new customer an owner, a status, and a place to track the onboarding conversation, which a CRM contact alone doesn't. If you also want a CRM record, that's a separate write to your CRM of choice in the same run.
- Can it assign the ticket to a specific agent or group?
- Yes. create_ticket accepts assignee and group fields, so the agent can route onboarding tickets to your success queue, optionally branching by the customer's plan or region read from Polar.