Tenurewell: setup and user guide
Tenurewell is a Zendesk Support app by Great Work LLC. Support: hello@greatwork.company (reply within one business day).
What Tenurewell does
Tenurewell shows the ticket requester's Recurly account in the ticket sidebar (and on user profiles): subscriptions with plan and add-ons, past-due invoices and dunning, recent invoices and transactions, credit and pending charges. Agents you allow can refund, cancel at the end of the term or reactivate, pause or resume, move a renewal date, apply a coupon, add a credit, or collect a past-due invoice. Every action is confirmed first and logged on the ticket as an internal note with a tag, and on the Recurly account as a note.
Price: $10 per agent per month on the Standard plan, with a 14-day trial (Zendesk asks for a card at install). Tenurewell is not made or endorsed by Recurly. Recurly is a trademark of Recurly, Inc.
1. Create an API key in Recurly
- Sign in to Recurly and open the site your agents support.
- Go to Integrations > API Credentials and add a private API key. Name it "Tenurewell for Zendesk".
- Copy the key. Each Recurly site (including a sandbox site) has its own keys; a key works only for its own site and only in its own data center (US or EU).
Tenurewell never deletes anything in Recurly and never changes plans, quantities or billing information.
2. Install and connect
- Install Tenurewell from the Zendesk Marketplace and pick the Standard plan.
- Recurly subdomain: the part before .recurly.com in your Recurly address, for example
acme. - Recurly private API key: paste the key. Zendesk keeps it as a secure setting; it never reaches an agent's browser.
- EU data center: turn on if your Recurly site is hosted in Recurly's EU data center.
- Save. Open a ticket from a subscriber.
3. Settings
| Setting | What it does |
|---|---|
| Site 2 and site 3 (subdomain, key, EU switch, label, brands) | Connect more Recurly sites, for example one per brand or region. List Zendesk brand ids so a brand's tickets open its site first. Agents can switch sites in the sidebar. |
| User field with the Recurly account code | The key of a Zendesk user field holding the Recurly account code, if you store it. |
| Zendesk external id is the Recurly account code | Turn on when your Zendesk users' external id is their Recurly account code. Matching by email always runs as well. |
| Who may take actions | admin (default), agent for every agent, custom role ids, or group:<id>, separated by commas. Everyone else sees the sidebar read-only. |
| Allow refunds, subscription changes, renewal date changes, coupons and credits, collecting | Turn each action type on or off. |
| Largest refund without an admin, Largest credit without an admin | Limits for non-admins in the invoice's or account's currency. 0 means no limit. |
| Refund reasons | Your own list of reasons agents pick from. Recorded in the ticket note and the Recurly account note. |
| Coupons agents may apply | Coupon codes non-admins may apply. Empty allows any redeemable coupon. |
| Add a note on the Recurly account | On by default: after each action, a note on the Recurly account names the ticket and the agent. |
4. Using it
Finding the account. Tenurewell looks up the requester by every email address on their Zendesk profile (Recurly matches emails exactly, so it tries each as written and in lowercase), plus the user field or external id if set. When several accounts match, pick one from the list. No match: type an email or account code in the Find box.
What you see.
- Problems first: past-due invoices with the amount owed, the number of dunning emails sent, the last declined attempt and its reason, and an expired, expiring or invalid card.
- Subscriptions: plan, add-ons, quantity, price and interval, coupons, status (Active, Trial, Past due, Pause scheduled, Paused, Cancelling, Expired) and the next date that matters, plus a pending plan change.
- Invoices with status (Paid, Partly refunded, Refunded, Past due, Pending, Failed, credit invoices) and the refundable amount; recent transactions with declines in red.
- Credit available on the account and charges waiting for the next invoice.
- "Open in Recurly" links for the account, each subscription and each invoice.
Actions. Each opens a panel that states exactly what will happen. Nothing is sent until you confirm.
- Refund: by amount (up to the refundable amount) or by line item (pick quantities); to the original payment method or as credit on the account; pick a reason.
- Cancel at end of term: the subscription keeps running until the end of its term (or, for multi-period terms, you can pick the next bill date) and is not billed again. Reactivate removes the cancellation while it is still running.
- Pause: for 1 to 12 billing periods, starting at the next renewal; Recurly resumes it afterwards. Remove scheduled pause before it starts; Resume now while paused.
- Change renewal date: moves the next bill date (or the trial end). Later gives free days, earlier bills sooner; Recurly does not prorate it.
- Apply coupon: type a coupon code and look it up. Single-code coupons only; unique codes of bulk coupons are redeemed at checkout.
- Add a credit: an amount, a kind (service, promotional, general) and the description the customer sees; Recurly applies it to the next invoice.
- Collect now: charges a past-due automatic invoice to the card on file, for example once the customer has updated their card.
Logged. After Recurly accepts an action, the ticket gets an internal note (amounts, Recurly invoice and transaction numbers, reason, agent, your note) and a tag: tenurewell_refund, tenurewell_cancel, tenurewell_reactivate, tenurewell_pause, tenurewell_pause_removed, tenurewell_resume, tenurewell_renewal_date, tenurewell_coupon, tenurewell_credit or tenurewell_collect. Use the tags in views and reports. If the ticket note cannot be written (for example a closed ticket), the sidebar shows the note text to paste.
Safe to retry. Each confirmation carries an idempotency key. If the network drops or someone clicks twice, Recurly applies the action once.
5. Data and security
- Tenurewell runs in the agent's browser. There is no Great Work server and no Great Work account.
- The key is a Zendesk secure setting, only usable as the Basic authentication user name, and Zendesk only sends it to Recurly's API (v3.recurly.com, v3.eu.recurly.com).
- Reads happen only while the sidebar is open. Nothing is stored, cached, exported or sent to Great Work. No AI.
- Uninstalling deletes the settings and key; notes and tags already written stay. Revoke the key in Recurly too.
6. Troubleshooting
| Message | What to do |
|---|---|
| "did not accept the API key" | The key was revoked, belongs to another site, or the EU data center switch does not match the site's region. Paste the right key or flip the switch. |
| "cannot do this" | The key's permissions in Recurly do not allow the action. Check it under Integrations > API Credentials. |
| "Type only the subdomain" | The subdomain setting holds a full address. Keep only the part before .recurly.com. |
| "No Recurly account" | The requester's email differs from Recurly's. Use the Find box, or set up the user field or external id mapping. |
| A Confirm button is greyed out | The red box says why: over the refundable amount, over your limit, a coupon not on your list, Other without a note. |
| "The payment was declined" | Collecting failed and no money was taken. Ask the customer to update their card, then collect again. |
| "Recurly cannot cancel a paused subscription" | Resume it first, or let the pause run. |
| I can't see any actions | Your role or group is not in "Who may take actions", the action type is off, or this is a new ticket or a user profile (actions need a ticket). |
Still stuck? Email hello@greatwork.company with the ticket number and the Recurly invoice or subscription numbers from the note. Never send card details or API keys.