Helmwell setup guide
Helmwell starts TeamViewer remote support sessions from Zendesk tickets: it creates the session code in the right TeamViewer group, puts the customer's join link in the agent's reply, shows each session's live state, closes codes, logs each session's report (technician, times, length, notes, the customer's rating) on the ticket as an internal note, and lists a customer's sessions across their tickets.
Connect TeamViewer
- Decide whose token Helmwell uses. A company token (made by a TeamViewer company administrator; TeamViewer needs a Premium or Corporate license for company access) sees every technician's sessions and can assign sessions to any of them. A technician's own token works on any license but only sees and assigns that person's sessions.
- In the TeamViewer Management Console, signed in as that person: Edit profile > Apps >
Create script token. Name it "Zendesk Helmwell". Choose company or user access, then turn on
only:
- Session management: create, view and edit sessions (all sessions with a company token).
- Connection reporting: view connection entries. Leave everything else off. Copy the token.
- In Zendesk Admin Center > Apps and integrations > Zendesk Support apps > Helmwell, paste it into TeamViewer script token and save. Zendesk keeps it as a secure setting: agents never see it, and Zendesk only sends it to webapi.teamviewer.com.
Why only those two permissions
Zendesk's proxy uses the token for any request the app's frame makes to webapi.teamviewer.com. With only session management and connection reporting, the most anyone could do with it is create, read and close session codes and read connection reports. It can't reach your devices, users, groups, policies or anything on a customer's computer. Check the TeamViewer connection (admins, in the ticket sidebar) warns if the token can read users or groups.
Settings
| Setting | What it does |
|---|---|
| TeamViewer script token | Required. See above. |
| Default TeamViewer group | Required. The group new sessions go into: an id (g followed by digits) or, with a technician's own token, a group name. |
| Group mapping | Optional. <Zendesk group id> = <TeamViewer group>, one per line. A ticket in a mapped Zendesk group uses that TeamViewer group. |
| Assignment | mapped (default): the agent's TeamViewer user from the technician mapping; agents not in it leave the session unassigned in the group's queue. unassigned: always the queue. token: the TeamViewer user who made the token. |
| Technician mapping | Optional. <agent email> = <TeamViewer user id>, one per line, for example maya@yourcompany.com = u1000002. |
| Code works for (hours) | Default validity of new codes, 1 to 720 (default 24). Agents can pick another time per session. |
| Reply text | What goes into the agent's reply. [link], [code], [expires] and [agent] are filled in. If the text has no [link], the link is added at the end. Empty uses the standard text. |
| Waiting message | What TeamViewer shows the customer while they wait. |
| Send the requester's name / email | Pre-tick what goes to TeamViewer as the end customer. Name on, email off by default. Agents can change it per session. |
| Send the ticket subject | Include the subject in the session description the technician sees. The ticket number and link are always included. |
| Who may take actions | agent (everyone, the default), admin, custom role ids, group:<id>, separated by commas. Everyone else sees sessions read-only. |
| Allow closing sessions | Show Close session on open codes. |
| History length | How many of a requester's sessions the history lists (1 to 25, default 10). |
Finding group and technician ids
As an admin, open any ticket and click Check the TeamViewer connection. Besides checking the token, it lists the group ids and technician user ids on your newest sessions, each with an example session code. Look that code up in TeamViewer to see which group or person it is, then fill in the default group and the mappings.
Using it
- Start TeamViewer session: shows the group and the technician the session goes to, lets you untick the requester's name or tick their email, and choose how long the code works. Review, then Create session. Helmwell creates the code once, adds an internal note with the code, the customer link and what was sent, and puts the join link and code into your reply as a public reply. You send it.
- Session list: each session shows Customer waiting (the customer has the session open), Open, Expired or Closed, how long the code works, and the connections made with it. Join as technician opens TeamViewer's technician link. Put the link in my reply adds it again. Close session ends the code after you confirm.
- Session reports to log: when a connection ends, it appears at the top. Log report on the ticket adds one internal note with each new connection's technician, device, start and end time, length, technician notes, service case and the customer's rating. Connections already logged are never added again.
- Changed in TeamViewer: when a code expired or was closed in TeamViewer, Save on the ticket records it with a short note and updates the tags.
- Earlier sessions: the ticket sidebar lists the requester's sessions on their other tickets; the user sidebar lists all of a person's sessions.
- Tags:
helmwell_sessionon every ticket with a session,helmwell_openwhile one is open. Use them in views and triggers, for example a view of tickets with an open code.
How updates reach Zendesk
Helmwell runs only in the agent's browser and has no server, so TeamViewer can't notify it. Sessions are read from TeamViewer each time the sidebar opens or someone clicks Refresh, and a report is written to the ticket when that agent confirms it.
Limits
- Up to 20 sessions per ticket; the newest 10 are read live. Saved tickets only.
- Session codes only (the customer joins with a link). Unattended devices are not opened from the ticket.
- Connection reports need a TeamViewer license with reporting (Premium or Corporate in TeamViewer's API documentation). Without it, sessions still work and the sidebar says why reports are missing.
- TeamViewer limits API calls per token by license: 300 an hour (free), 7,200 a day (Business), 14,400 (Premium), 36,000 (Corporate). Opening a ticket uses 1 to 2 calls per session on it.
Data
Helmwell reads the ticket you're on, the requester's other tickets that have sessions, and your agent count. It sends TeamViewer only what a session needs: the ticket number and link, the agent's name, the subject if allowed, the requester's name and email as chosen, the waiting message and a random marker with the ticket id. Session codes and their states live in a hidden ticket field, "Helmwell: remote sessions (managed by the app)", created at install. Uninstalling removes that field; notes, tags and TeamViewer stay as they are. Great Work receives nothing. Full details: https://greatwork.company/apps/helmwell/privacy
Help
hello@greatwork.company. A person replies within one business day. Send the ticket number, the session code and the admin check's output, never customer data or the token.