# The Resolve guide

Set up Dbrij Resolve step by step: what you need, what to press, and how you know each step worked.

Canonical page: https://dbrij.com/products/resolve/guide

## Set up Resolve, step by step

By the end each product has a desk, customers reach you through a branded widget, and every ticket has a promise it keeps.

Before you start, have these ready

- A company mailbox if you want email tickets (set up in Company email).

1. ### Create a desk

  One per product you support.
  [Open desks](https://dbrij.com/resolve/desks)
  You will know it worked when the desk shows on the Desks page.
2. ### Set your promises

  First reply and resolution times. On the desk’s Setup tab, in minutes; 0 turns a promise off.
3. ### Brand the widget and portal

  Your colour, logo and name. Then put the desk in front of customers, in one way or both.

  On my website or app: A help bubble in the corner of every page.

  1. Add the embed line

  Copy the embed line from the desk’s Widget and portal tab and add it to your site, or send it to whoever edits your site.

  As a link: A help page with your branding.

  1. Share the portal link

  Every desk has its own help page wearing your brand, not Dbrij’s. Share the link in emails and on your social pages.
4. ### Point email at it

  support@yourdomain.com becomes tickets. On the desk’s Get started tab, pick the company mailbox and connect it. Sign in codes, newsletters and spam are kept out on their own.
5. ### Turn on Deputy

  Drafts or answers clear questions from your articles.

## Questions people ask

### Do customers need a Dbrij account?

No. They write through the widget or the help page as they are.

### Where do customer messages land?

Everything customers write lands in the [Inbox](https://dbrij.com/resolve). Reply from the web or from your phone. The customer watches it move and confirms when it is fixed; a test message you send through the widget or the portal appears there too.

## How each part works

### [What Resolve is](#what-resolve-is)

Resolve gathers tickets from widgets, portals and email into one inbox. Each desk sets promises; customers see a live timeline; tickets can escalate to tasks; Relay shares channels with client companies.

Resolve is customer support your customers can watch working. Each product you support gets a **desk** with its own embeddable widget, hosted portal, help articles and promises, and every channel lands in one shared inbox: the widget in your product, the portal link, and email to your own support address.

What makes it different is honesty by construction. Customers see a live timeline of their ticket moving, your reply promises are published and a missed one is stamped on the ticket where the customer can see it, and a ticket only counts as done when the customer confirms the fix, never before.

### [Desks and the widget](#desks-and-widget)

A desk's page carries its controls as tabs: promises and transparency, the widget and portal, saved replies, help articles, the customer list and the honesty numbers. The **Widget and portal** tab holds the one line that puts support inside your product:

The embed

```
<script src="https://resolve.dbrij.com/resolve-widget.js" data-desk="your_widget_key" defer></script>
```

The desk page shows this line with your own widget key and brand color filled in. Beside it live the hosted portal at its own link, a public status page, and a badge you can iframe onto any page to show your verified Resolve Score. The same identity values work on the portal link as `?name=&email=&externalId=` query values.

If your product runs on Dbrij Hosting, the widget can be injected at the hosting edge with no code change at all, the same mechanism Glass uses.

### [Resolve inside your mobile app](#mobile-apps)

The same support center opens as a screen inside your app, with an SDK for React Native and Expo, Flutter, iOS, Android, and Capacitor, Ionic or Cordova. Customers start tickets, send screenshots, read replies and confirm fixes without leaving it, and each SDK gives you the unread count for a badge on your help button. The desk's **Widget and portal** tab shows the lines for each one with your widget key filled in.

React Native

```
<ResolveSupport desk="your_widget_key" identity={{ email, name, externalId, userHash }} onClose={close} />
```

**Signed sign in.** Your customers are already signed in to your product, so they should not need a code from us. Make the desk's identity secret on the Widget and portal tab, keep it on your server, and sign each customer there: an HMAC SHA256 of their lowercase email, or of their externalId, a new line and their email when you send an externalId. Pass the result as userHash. Without it, customers sign in with an emailed code once per device.

**Telling customers about replies.** Customers who wrote in from the widget, the portal or an app are emailed when a reply sits unopened for two minutes, with the reply and a link back to the ticket. A burst of replies becomes one email, and a reply they read in time sends nothing. For a push notification, pick one of your developer apps under Push to your app: every reply sends it a signed support.ticket.replied webhook naming the customer, and your server sends the push with the keys it already has.

### [Tickets and the customer timeline](#tickets-and-timeline)

Every ticket carries a timeline the customer can see, and you choose how much of it they see, per desk:

- **Full timeline:** customers see assignment by first name, progress and promises live.
- **Milestones:** customers see status moves and promises, with no names.
- **Labels only:** customers see the status label and the promise record.

Whichever level you pick, nobody sits in a black box. A ticket only counts as resolved when the customer confirms the fix; you can still close one yourself, and it is recorded as closed without their confirmation. New tickets and replies push to whoever is on the desk, on web and on the phone.

The inbox sorts tickets by whose turn it is. **To do** is the team's: new tickets and customer replies. **Waiting on customer** is theirs: you asked something, or marked it fixed and they have not confirmed yet. **Done** keeps every closed ticket, so you can always find one again. A ticket waiting on a customer has a Close button right on its row.

Mail to a desk's address that is not a person asking for help stays out: sign in codes, no reply senders, newsletters and spam. It still reaches the mailbox, and the desk's Setup tab lists what was kept out, with a button to let a sender in. If something slips through, open it, choose More, then **Not a real ticket**: it is removed from the inbox and the desk's numbers, and that sender can be ignored from then on.

### [Promises and the score](#promises)

A desk publishes two promises: how fast the first reply comes, and how fast a resolution comes, each in minutes, with zero turning a promise off. Promises are not marketing copy; they are measured against every ticket, and a missed promise is stamped on the ticket where the customer can see it.

Kept promises, confirmed fixes and honest reply times roll into your public Resolve Score, verified by Dbrij, which you can show anywhere with the badge from the desk page. A good score earns money off the Dbrij subscription at renewal, so honesty literally pays.

### [Help articles and saved replies](#articles)

Each desk carries its own help articles. Published articles show in the widget and the portal, so customers can self serve before opening a ticket. Saved replies keep your common answers one click away in the inbox.

Articles are also what Deputy answers from, at the level you choose: Deputy can draft a suggested reply from your articles for a person to review and send, or answer directly when your articles clearly cover the question. It never guesses, hands over the moment someone asks for a human, drafts instead of sending on email tickets, and steps back after two replies.

### [Relay: channels with client companies](#relay)

[Relay](https://dbrij.com/resolve/relay) is for the named companies you serve, and the companies serving you: a shared channel per client company, sitting beside the inbox rather than buried in a desk. You post a status once and it reaches every channel it affects; anything a client raises gets an owner and a due time.

Clients read their channel from a link in their inbox, with no account and nothing to pay, which is the only way a shared channel ever actually gets used. Relay shows both directions: companies you work with, and your clients.

### [Plan, branding and access](#plan-and-access)

- The subscription includes unlimited desks, tickets and customers, the embeddable widget and hosted portal, email in from your own support address, and visible promises with customer confirmed closes.
- The portal and widget wear your brand, not Dbrij's: your color, your logo, your name.
- Deputy answers run on your [AI credits](https://dbrij.com/ai-credits), and only at the level you switch on per desk.
- Access is granted per person on the [Access](https://dbrij.com/product-access/resolve) page; the owner always has it.

### [Good to know](#good-to-know)

- The inbox sorts by whose turn it is: To do is yours, Waiting on customer is theirs, Done keeps every closed ticket.
- A fixed ticket waits for the customer to confirm, then closes on silence. Close it yourself any time.
- Not a real ticket (a code, a newsletter)? More, then Not a real ticket removes it and can ignore that sender.
- Deputy steps back after two replies or when a human is asked for.
- Missed promises are shown to the customer, with an apology.
