All help articles

supporto.city: the help desk for teams

supporto.city sells Zappocity's help desk to other businesses. It is the same support system Zappocity answers its own customers with (see the Zappocity help desk), split into desks: each team that subscribes gets a desk of its own with its own queues, tickets, canned replies, help center and mail settings. Zappocity's own help desk is simply the first desk. Nothing on one desk can be seen or changed from another, and tickets are numbered per desk (a team's first ticket is T-1).

Building it was in steps (docs/plans/supporto.md): desks, the plans and per-seat prices, subscribing a team, the agent app at /desk with its API (api/desk.yaml), each desk's own mail with agents' addresses, each desk's own host, its customer pages, and signing up. It stays coming in the catalog until you make it available under Products: then its page invites teams in and they make desks themselves.

Plans

Prices are per agent (seat) and month; billed monthly they are 20% more.

PlanPriceAgentsQueuesIncludes
Free$0up to 21help center
Starter$9 per agentup to 10, and no more than the seats bought5follow-ups, contact history, your own support address
Team$19 per agentthe seats boughtunlimitedalso service levels, team roles, reports, single sign-on, the API
Business$35 per agentthe seats boughtunlimitedalso the compliance archive, the audit log, priority support

Change prices, limits and features under Products → supporto.city like any product's (limits: agents, queues, and agentsBySeats, 1 when the seats bought also limit the agents). Features are switched on or off for one team on its subscription's Features. The features beyond the help center are promised by the plans and arrive with the agent app.

Signing up

supporto.city's own host (its site host, supporto.city) shows its page: what it is, the plans with their prices and features straight from the catalog (so a price changed under Products shows at once), and Start free. While the product is coming the page says "Coming soon" and nobody can make a desk themselves.

Once it is available, Start free leads to the Zappocity account page (signing up or in there), where Help desks → Make a help desk makes an organization the person owns, subscribed to the Free plan; the desk is ready at once with them as its administrator. A person can make up to three desks this way (staff can make more). The same card lists the desks they work, with links to each desk and its customer page.

Owners and billing members change the plan and seats on the organization's subscription on the account page, and whether it is billed monthly or yearly. A dearer plan and more seats are invoiced at once for the rest of the period (the difference, in proportion to the time left); a cheaper plan or fewer seats take effect without a refund; a new billing period starts at the next renewal; a plan or seats the desk does not fit are refused with the reason.

Subscribing a team

On the organization's page, Subscribe to supporto.city with a plan and, on a paid plan, the number of seats (agents):

corpsuite zappocity subscribe ORG-ID product=supporto plan=team seats:=5

This makes the team's desk, named after the organization, with an address name taken from it (acme-support-co, or acme-support-co-2 when taken) and one queue, Support, whose tickets are numbered T-1 onwards. The subscription's Resource is the desk's id.

The desk's host

Each desk also has a host of its own: <desk>.<supporto.city's host> (acme-support-co.supporto.city). Its address opens the desk's customer page; agents work at /desk there. Point a wildcard DNS record (*.supporto.city) at the server. corpsuited gets each desk host its certificate when first asked; zappocityd needs a wildcard certificate in CORPSUITE_TLS_CERT.

Agents sign in there with their Zappocity account: Sign in takes them to the Zappocity account page (where they may already be signed in) and back to the desk with a session of its own. The way back is a one-time code for that desk's host only, usable once within two minutes and only in the browser that started, so a link cannot sign someone in as someone else. Two-step sign-in carries over.

The desk's customers

On the desk's host, customers have:

Requests to a desk are the desk's only: they never show on Zappocity's own account page, and Zappocity's never on a desk's.

The desk's mail

Each desk's mail is at <desk>.<supporto.city's host>, the host being supporto.city's site host under Products (supporto.city in production; never written into the code). When a desk is made it gets a team of its own on Mailocity with that domain, and each queue a mailbox there: support@acme-support-co.supporto.city. A queue an administrator adds later gets its mailbox too.

The help desk mail job reads every desk's queue mailboxes each minute.

Agents' addresses

Every agent also has a name on the desk's domain, taken from their Zappocity email (amy@acme-support-co.supporto.city; amy2 when two agents share a name). The desk's administrators choose what these are, under Queues → Mail:

Taking an agent off the desk takes their ticket address away, or suspends their mailbox, keeping its mail. A queue cannot be named after an agent's address. The Agents page shows each agent's address.

Agents

Agents are Zappocity accounts. Each desk has administrators, who run its queues, agents, canned replies and help center, and agents, who answer tickets; both count against the plan and seats. The organization's first owner is the desk's first administrator. An administrator adds someone by the confirmed email of their Zappocity account (PUT /api/desk/{desk}/agents), as an agent or administrator; a desk always keeps one administrator.

Agents work the desk at **/desk/{desk}** (the desk's address name; /desk lists every desk they work), signed in with their Zappocity account: the same help desk pages Zappocity's staff have in the admin panel (the overview of queues and urgent tickets, search, tickets with replies, notes, canned replies and macros, follow-ups, the help center and keyboard shortcuts), showing only that desk, plus Agents. Administrators also see Queues. The pages call the desk API at /api/desk/{desk} (api/desk.yaml). Someone who is not the desk's agent gets "no such desk". An agent sees the queues that list them, or every queue when a queue lists nobody; administrators see every queue. A suspended desk can be read but not changed.