Osy#betaRun it on Osyrin: osyrin.com

Harbour · Helpdesk

Keep every conversation moving.

Bring email, text and chat into one support desk. Give every request a clear owner, keep service promises visible, and help your team respond with the customer’s history at hand.

Harbour brings together the details a busy support team depends on: account cover, business-hour service levels, collision protection, multilingual conversations and privacy controls.

144 features across 17 areas. Built with 22 reusable Osy# kits and Harbour’s own application logic, with 1,110 tests across the app and its kits.

Explore what’s included.

From the first incoming message to resolution, reporting and retention, explore how Harbour handles the work around every ticket.

Where a test is named, you can read the behavior it checks. Not every feature names one.

Agent workspace 11

FeatureWhat it doesBuilt withBehavior test
Live view countsSee where the work is at a glance. Mine, Offered to me, Unassigned, At risk, All open, Waiting and Done, plus your queues and team views, each count as work moves. With no ticket open, the desk shows how much of the view is late, at risk or waiting.Inboxthe desk at real volume shows its views with live counts and a dense list
Compact ticket listKeep a busy queue readable. Hundreds of open tickets sit in compact rows, due first, each showing the requester, company, priority and assignee.Inboxthe desk at real volume shows its views with live counts and a dense list
Keyboard navigationWork through the queue without reaching for the mouse. J and K move between tickets, Enter opens one, X selects it for bulk actions, and ? shows the shortcuts.Inboxthe keyboard works the list without the mouse
Command menuAct without leaving the keyboard. ⌘K assigns a ticket, sets its status or jumps to a ticket by number.Harbourthe command menu sets the open tickets status
Ticket tabsKeep several conversations open at once. Each ticket sits in its own tab and keeps its half-written reply while you work on another.Harbour
Bulk actionsUpdate many tickets in one move. Select them, then assign them or set their status; Harbour tells you which it could not change and why.Harbourbulk assign and bulk status move every ticket they can
Saved list layoutPick up where you left off. The list’s sort order and density stay as you set them in this browser.Inboxthe lists order and density are remembered in this browser
Team viewsGive the whole team the same view of the work. A lead saves a view, such as urgent tickets from your top tier, and it appears in everyone’s sidebar.Inboxa shared view lands in the rail and lists what it asks for
Personal viewsSave the filters you use daily, by queue, tier, priority and language, alongside the team’s views.Inboxa saved view filters by queue tier priority language and the apps own filter
Mobile deskAnswer from anywhere. On a phone, the list and the ticket each get a full screen, with the same actions.Inboxon a phone the list and the ticket are one screen each
Guided first stepsKnow what to do on day one. A new desk explains where tickets will come from, and a teammate in no queue is told why they cannot take a ticket and who can change that.Harbouran empty desk says where tickets come from and a teammate in no queue is told

Tickets 15

FeatureWhat it doesBuilt withBehavior test
Complete ticket timelineSee the whole story in one place. Messages, internal notes and each change of status, priority, type, tags, assignee or merge appear in order, with who made it.Harbourevery change is on the timeline with who made it
Replies and internal notesTalk to the customer and to your team from the same composer. Notes are clearly marked and stay on the team’s side of the timeline.Harboura reply and a note land on the one timeline and the note is marked
Ticket lifecycleKeep each ticket’s state meaningful: new, open, pending, on hold, solved and closed. A ticket cannot return to new, or be closed before it is solved.Harboura ticket cannot go back to new or close before it is solved
Custom statusesDescribe your own process. Add statuses such as Waiting on a refund within the standard categories, so reports and service clocks still know what each one means.Harbourthe status page saves only on save discards on discard and undoes one change
Automatic closingKeep the queue tidy without chasing. A solved ticket closes after a quiet period, and a reply from the customer before then reopens it.Harboura solved ticket closes by itself unless the customer writes back
Priority and ticket typeSeparate the urgent from the routine. Set priority from low to urgent. A ticket's type is the form it was asked on: start with a question, something broken, an outage and a task, then rename them and add your own.Harbourthe form is the tickets type and an outage asks for its root cause
Incident root causeClose incidents with what you learned. A type that asks for a root cause, like an outage, can be solved once the cause is on record.Harbouran incident is not solved until its root cause is on record
TagsLabel tickets freely. A tag is created the first time you use it, and a ticket carries each tag once.Harbourtags are made on first use and a ticket carries each once
Ticket followersStay informed about the tickets you care about. Follow a ticket to hear what happens to it, and unfollow when you are done.Harbourfollowing a ticket and stopping
Merge duplicate ticketsAnswer the same request once. Merging closes the duplicate and adds its requester to the ticket that remains.Harbourmerging a duplicate closes it and copies its requester on the survivor
Problem managementFix the cause once for everyone affected. Link incidents to a problem; solving the problem solves each incident, with an entry on its timeline.Harbour
Custom fields and formsCapture the details your team needs. Add fields to tickets, people and companies, and group them into forms for each kind of request.Fieldsa client books and the server keeps only what the form asks them
CC managementBring the right people into the conversation. Add or remove a CC by hand, and a CC’d person who replies joins the conversation as a CC.Conversationsa ccd person replying joins as cc
Side conversationsGet help from outside the ticket without exposing it. Email a third party or start an internal thread from the ticket; it shows on the timeline, and the third party sees nothing of the ticket.Conversationsdev is mailed on the side and never sees olivias ticket

Composer 7

FeatureWhat it doesBuilt withBehavior test
Send and set statusReply and move the ticket on in one step: send your answer and set the ticket’s status together.Harbour
Saved repliesAnswer common questions consistently. Reusable replies fill in placeholders such as the customer’s name and the ticket number.Composer
MacrosHandle routine requests in one click. A macro applies a reply, a status, a priority and tags together.Composer
Rich formattingWrite clear, structured replies with Markdown: lists, links, code and emphasis.Composer
Autosaved draftsKeep replies in progress safe. A half-written reply is saved for each ticket as you type.Composer
Agent signaturesSign off consistently. Each agent’s signature is added to their replies.Composer
Composer shortcutsWrite without reaching for the mouse. R starts a reply, N a note, Shift+M opens the macros and L adds a tag.Composer

Email, text and chat 14

FeatureWhat it doesBuilt withBehavior test
Email to ticketTurn your support address into a queue. Each email to it opens a ticket with its attachments, and the customer’s reply continues the same ticket.Harboura mail to support opens a ticket with its files and a reply continues it
Threaded email repliesKeep the conversation tidy in the customer’s inbox. Replies go out from the address they wrote to, with the headers their email program threads by.Conversations by maila reply goes from the address it came to and threads in the customers mail
Reliable email threadingKeep replies on the right ticket when a thread breaks. An answer that lost its thread headers still finds its ticket by the reply address and the reference in the subject.Conversations by mailan answer that dropped every thread id finds its conversation by the plus address
Quoted text trimmedRead only the new part of each reply. The email is kept in full, and the ticket shows what was new in it rather than the quoted history.Conversations by maila mail from the watched mailbox lands with only what was new and keeps the rest
Auto-reply and bounce handlingAvoid answering an autoresponder. Out-of-office replies are recorded and left unanswered, and a bounce marks the delivery as failed.Conversations by mailan out of office is recorded and never answered
Duplicate message protectionSee each message once. The same email or text delivered twice becomes a single message.Mail receivingthe same message seen twice is one message
Visible delivery holdsKeep unsent replies visible. If no mail sender is ready, Harbour holds the reply and explains why; failed receiving attempts are retried.Conversations by mailwith no mail sender ready the reply is held and says why
Connected mailboxesUse the mailboxes you already have. Connect a Gmail or Microsoft 365 inbox, or an IMAP mailbox, and replies go out from it.Gmail mailboxmail added to the inbox is fetched whole and kept and sent mail is not
Text messaging (SMS)Reach customers on their phones. A text to your number opens or continues a conversation, and replies from the desk are sent as texts, with delivery reports.Conversations by texta text received becomes a message from that number
Text length checkAvoid texts that arrive cut short. A reply too long for a text message is refused as you write it, before it is sent.Conversations by texta reply too long for a text is refused when it is written
Web request formLet anyone ask for help without an account. A signed-out visitor sends a request from the help page and is told its ticket number.Harboura signed out visitor sends a request from the help page
Live chat widgetTalk to visitors while they are on your site. Live chat on your help centre and portal, and the conversation is kept across a page reload.Conversationsthe widget starts a conversation signed out and keeps it after a reload
Chat follow-up by emailKeep the conversation going after the customer leaves. A chat reply left unread is emailed after ten minutes, and answering that email continues the same conversation.Conversationsan unread chat reply is mailed after ten minutes with everything unread
Reply on the customer’s channelAnswer customers where they are. A reply goes out on the channel the customer last wrote on.Conversationsa reply goes out on the channel the customer last wrote on

Files 6

FeatureWhat it doesBuilt withBehavior test
Ticket attachmentsKeep the evidence with the request. Screenshots and files sent by email arrive on the ticket, shown with the message they came with.Harbourthe agent sees the mailed screenshot and code on the ticket
Inline screenshotsSee the problem without downloading anything. A pasted screenshot is a message of its own, shown inline.Conversationsa screenshot alone is a message
Code previewsRead technical reports comfortably. A source file previews with syntax highlighting, and a fenced snippet in a message displays as code.Conversationsa code file is previewed with its lines coloured
Internal attachmentsShare files with colleagues alone. A file on an internal note is visible to the team and hidden from the customer.Conversationsa customer reads the screenshot on a reply and never the one on a note
File type and size checksAccept files safely. A file is identified by what it contains rather than its name, and an oversized file is refused with its name, its size and the limit.Conversationsa name that claims a picture the bytes are not is refused with a sentence
Drag-and-drop attachmentsAdd files the quick way: drop or paste them into a reply or a note.Composer

Queues and assignment 10

FeatureWhat it doesBuilt withBehavior test
QueuesDivide the work by team. Billing, Security, Onboarding: each queue has its own members, and a restricted queue stays out of sight, and out of the counts, for everyone outside it.Inboxrestricted queue items are invisible and uncounted for agents outside it
Routing rulesSend each new ticket to the right place automatically. Rules, applied in order, set where it goes, how urgent it is, what it needs and who gets it, and can add a tag; the ticket says which rule acted.Inboxa routing rule assigns prioritises and tags a matching new ticket and says so
Round-robin assignmentShare work fairly. Each available team member is offered work in turn, and anyone away is skipped.Inboxround robin offers each member in turn and skips the away
Capacity-based assignmentBalance the load. Work goes to whoever has least needing attention, up to their capacity, and freed capacity pulls in the oldest waiting ticket.Inboxnobody is given more than their capacity
Skills and language routingMatch each ticket with the right person. A required skill limits who may hold it; someone who speaks its language is preferred, then anyone after a wait.Inboxa speaker of the items language is preferred
Take, release and reassignKeep ownership clear as work changes hands. Take a ticket, release it to the queue, or hand it to someone who may hold it, with each change and its reason recorded.Inboxtaking an item puts your name on it and records why
Routing explanationsUnderstand each assignment. The ticket shows which route and which service level put it where it is.Inbox
Unclaimed ticket alertsCatch work nobody has picked up. A ticket left unclaimed past its pickup time is raised with the team leads.Inboxan unclaimed item past pickup tells the leads
Team workloadSee capacity at a glance: who is at capacity, who is away and who covers them, on one page.Inboxteam load shows who is at capacity
Agent availabilityControl when work reaches you. Set yourself available, busy or away, and routing follows your status.Inboxmy status is what routing reads

Service levels 11

FeatureWhat it doesBuilt withBehavior test
First reply, next reply and resolution targetsTrack each promise you make. A ticket carries three service targets, first reply, next reply and resolution, each counting down on the list and on the ticket.Harbourthe desk keeps its promises through the inbox
SLA policies by tier, priority and channelPromise each customer the service they are entitled to. The most specific policy applies, so a premium company can be covered around the clock with tighter targets.Inboxthe policy is chosen by the most specific match
Business hours and holidaysMeasure service fairly. Clocks run in your business hours and stop for weekends and holidays.Inboxa business hours clock does not run over the weekend or a holiday
Pending pauses the clockStop the clock while the customer has the next move. Pending pauses the clocks; the customer’s answer reopens the ticket and starts them again.Harbourpending pauses every clock and the customers answer reopens it
Customer-triggered reply targetsStart the next-reply clock when the customer writes, so the promise measures when your team actually owes an answer.Harbourthe next reply is owed only after the customer writes
Auto-solve after silenceClose the loop on stalled conversations. A pending ticket that stays silent for a week is solved.Harboura week of silence while pending solves the ticket
Priority-based targetsTighten the promise when urgency changes. Raising a ticket’s priority retargets its clocks.Harbourraising the priority tightens the promise
At-risk warningsAct before a target is missed. A ticket turns at risk at a set fraction of its target, on the list and in its own view.Inboxat risk fires once at the policys fraction
SLA escalationRespond to breaches automatically. A breach escalates to the next level and can notify the assignee, alert the leads, raise the priority or move the ticket, once per clock cycle.Inboxthe escalation actions do what they say
Breach historyReport honestly on missed targets. A breach is recorded when it happened, and the ticket carries on.Inboxa breach is recorded and the item carries on
Imported ticket historyBring your history with you. A ticket brought in from another system keeps its real dates and clocks.Inboxan imported item keeps its real history

Accounts and cover 8

FeatureWhat it doesBuilt withBehavior test
Account teamsGive each customer company a named team. A company has an owner, a backup and a pod, and its people can see who looks after them.Organizationsthe account team has one owner and a backup and the companys people see who looks after them
Account-based routingSend a company’s tickets to the people who know it. Work is offered to the account owner first, then the backup, the pod and the queue, each step on time and within the queue’s hours.Inboxan offer falls through to the backup then the pod then the queue on time
Automatic account coverKeep account support moving when the owner is unavailable. Away owners are skipped immediately, and declined offers pass straight to the next person in the cover chain.Inboxdedicated never means stuck
My accountsKeep an eye on your customers: your companies, with their open and at-risk work.Inboxmy accounts lists my organisations with their open and at risk work
Tiers and entitlementsDeliver what each customer is entitled to. A company’s own contract applies first, then its tier, and VIP contacts are marked.Organizationsan organisation is entitled to its own contract first then its tiers
Absence coverTake time off without leaving customers waiting. Going away hands your assigned work to cover and withdraws your open offers; a planned absence does this when it starts, and ends by itself.Inboxgoing away hands held work to cover and withdraws offers
Follow-the-sun handoverKeep tickets moving across time zones. An unanswered ticket whose assignee’s working day has ended is handed to someone on shift, halfway to its first-reply target.Inboxoff hours cover at half the first response target
Working hours by time zoneRoute work to people who are actually working. Who is on shift is read from each person’s working hours in their own time zone.Inboxon shift is read from working hours in their zone

Team collaboration 7

FeatureWhat it doesBuilt withBehavior test
Live presenceKnow who else is on a ticket. Its header shows colleagues viewing or replying, live.Collaborationa seat says who and what they are doing and who is stamped by the platform
Private presenceShare activity, not drafts. Presence shows what a colleague is doing, not what they are writing.Collaborationa seat carries an activity and never what anybody wrote
Reply collision protectionAvoid sending competing answers. If a colleague replies while you compose, Harbour stops your send and names the person who answered.Harboura colleagues reply that lands while you write stops yours with their name
Simultaneous action handlingSettle races cleanly. When two agents take the same ticket or reply to it at once, the second is told who got there first.Harbourtwo agents taking one ticket the second is told who was first
Assignment conflict protectionKeep ownership clear when two agents act at once. A ticket already held by a colleague cannot be taken, and Harbour tells you who holds it.Inboxtwo agents taking one item one wins and the other is told who
@mentionsBring a teammate in with a word. Mention them in a note and they are notified.Notifications
NotificationsStay on top of what concerns you, with an in-app bell and an email digest of what you missed.Notifications

Customers and the portal 8

FeatureWhat it doesBuilt withBehavior test
Customer portalGive customers one place to follow up. They sign in to read their requests, answer them and start new ones.Harboura customer reads and answers their request and never sees a note
Company-wide ticketsKeep a whole company informed. A customer sees their company’s tickets when the company shares them.Harboura customer reads their companys tickets only when it shares them
Company matching by email domainGroup customers automatically. A customer whose verified address is on a company’s domain joins that company; public email services belong to no company.Organizationsa public mail service is nobodys domain
Verified access to email historyConnect earlier email conversations to the customer’s portal only after their email address has been verified.Harbouran unproven address never reaches the conversations someone started by mail
Customer context panelAnswer with the full picture. Beside the ticket: the person, their company and plan, their other tickets and the company’s notes for the team.Harboura customer reads neither company notes nor the desks configuration
Duplicate contact mergingKeep one record per person. The desk suggests records that are probably the same person; a teammate merges them and can undo the merge.Harboura teammate merges a duplicate record and can undo it
Mobile portalLet customers follow up from anywhere, with requests and replies laid out for a phone.Harbourthe portal on a phone
Customer satisfaction ratingsHear how you did. After a ticket is solved, the customer rates it good or bad, with a comment, from the email or the portal.Harboura solved ticket mails its customer a notice that asks how it went

Multilingual support 5

FeatureWhat it doesBuilt withBehavior test
Translated repliesSupport customers in their own language. A customer writes in their language and reads your team’s English reply in it, marked as translated.Conversationsan english reply reaches a swedish customer in swedish marked as translated
Original text preservedKeep each message faithful. A message keeps its original text and gains an English copy, and an agent can show the original.Conversationsa swedish message keeps its swedish and gains an english copy
Delivered translation historyKeep a record of the translated text the customer actually received alongside the original message.Conversationsthe text the customer received is recorded as delivered
Bring your own modelRun translation on your own AI model account.Conversations
Localized portal and emailSpeak the customer’s language beyond the ticket: the portal, help centre and notification emails are shown in it.Harbour

Knowledge base and help centre 6

FeatureWhat it doesBuilt withBehavior test
Knowledge base articlesWrite an answer once and reuse it. Articles in Markdown, in categories and sections, with drafts, versions, review before publishing and internal-only articles.Knowledge base and help centrea draft is written sent for review and published by a reviewer
Help centreLet customers find answers themselves: your articles as a searchable help centre on your own domain, in your look.Knowledge base and help centrea customer reads the help centre and never a playbook
Article suggestionsAnswer questions before they become tickets. The help page suggests articles while a customer describes the problem.Knowledge base and help centrethe help form suggests articles as the subject is typed
Help centre search in the chatLet customers find the answer before they ask. The chat searches your help centre above its first message, and only articles customers may read.Knowledge base and help centrethe chat searches the help centre and its first message opens a ticket
Multilingual articlesPublish each article in several languages, with a fallback to the default language.Knowledge base and help centrea reader reads their language and falls back to the original

Automations and API 5

FeatureWhat it doesBuilt withBehavior test
TriggersAutomate the routine. When a ticket is created or updated, a customer writes, a status changes or a target is at risk, set its status, priority or tags, assign it, notify the team or email the customer.Automationsa ticket that says urgent is tagged the leads told and the timeline says which rule did it
Time-based automationsFollow up on tickets that have sat in a state for a while. An hourly rule acts once for each wait, such as three days waiting on the customer.Automationsa ticket waiting three days on its customer is told to whoever holds it once
Ordered, traceable automationsKnow what your automations did. Rules run in order, protected against loops, and each rule that fires is recorded on the ticket.Automationstwo rules that undo each other each run once and the loop is on the record
REST APIConnect Harbour to your own tools. Tickets, replies and statuses are available over a REST API, and each key reads only what its person may.Harbourthe api reads and writes only what the caller may in the desk
Outbound webhooksTell your other systems what happened. Signed events are delivered to them, with retries, and an endpoint that keeps failing is paused and the admins told.Webhooksa new ticket and its status change are sent signed as the api answers them

Reports 3

FeatureWhat it doesBuilt withBehavior test
Support overviewUnderstand performance at a glance: volume, backlog, first reply, resolution, SLA attainment and satisfaction, by agent, group, channel and company.Reports
Custom reportsAnswer your own questions. Group by any field over time, and export to CSV.Reports
Service by tier and account teamSee how each tier and each account team is being served.Reports

AI assistance 7

FeatureWhat it doesBuilt withBehavior test
AI reply draftsStart from a draft rather than a blank page. New and updated tickets get a reply draft waiting in the composer, citing the articles and past answers it used.Agents
Human-approved AI repliesReview and edit AI drafts before sending. The draft stays internal, and the sent reply links back to it.Conversationsan approved ai draft becomes a new message and the draft stays internal
Suggested clarifying questionsGet the missing details sooner. When a ticket is unclear, the assistant proposes a question for the customer, which an agent approves.Agents
Suggested actionsMove faster with a person in charge. The assistant proposes a status, field values, merges or problem links, each applied once a person approves it.Agents
Clearly marked AI contentSee at a glance what AI wrote. AI-written entries have their own colour on the timeline, and the customer’s side marks them plainly.Conversations
AI cost per ticketKeep AI spending visible: the model cost of each ticket, in the ticket’s panel and in reports.Agents
Card number redactionKeep payment card data out of your desk. Card numbers are removed before a message is stored or a model sees it.Conversationsa card number in a web chat or a desk reply is never stored either

Team, roles and sign-in 10

FeatureWhat it doesBuilt withBehavior test
Agent, Lead and Admin rolesGive each person the access their job needs. Agents work tickets, leads also run views and cover, and admins run the desk.Harbouran agent is offered only the settings an agent may open
First-run admin setupGet started straight away. Whoever signs up first is the admin; everyone after is a customer until given a role.Harbourthe first account runs the desk and everyone after is a customer
Team invitationsBring your team in securely. Invite a teammate with their role, from any email domain; the link works once, is followed by a reminder and expires.Invitationsthe link works once
Team managementManage your team from one page. Search the team, grant and revoke roles, deactivate accounts and sign someone out everywhere, each change recorded with who and why.Peoplea manager grants and revokes an offered role and each change is recorded
Protected admin accessKeep someone responsible for the desk. Role and account changes cannot leave Harbour without an active administrator.Harbourthe desk is never left without an admin
Two-factor authenticationProtect the accounts that matter most. Sign-in with an authenticator app and recovery codes, required of leads and admins.Accountsan account the app requires it of sets it up before it is given any ticket
Second-factor recoveryHelp a locked-out colleague safely. A people manager resets their second factor with a written reason; the person is signed out and told.Peopleresetting a lost second factor needs a reason clears it signs out and tells the person
Password reset by emailLet people recover access on their own with a single-use reset link, valid for an hour.Accountsa reset link is mailed and sets a new password once
Sign-out on password changeClose old sessions when a password changes: the account’s other browsers are signed out.Accountsa password change signs the accounts other browsers out and nobody elses
Audit logSee who changed access and settings, and when. Available to admins.Harbour

Privacy 11

FeatureWhat it doesBuilt withBehavior test
Controlled erasureReview an erasure plan by data category, separating what can be erased, what must remain restricted until a stated date, and what is currently blocked.Privacyan erasure plans erase for the account and notes and keeps the voucher restricted
Erasure responseClose each request with a clear answer. The response says what was erased, what was kept, on which legal basis and until when.Privacyan approved erasure erases keeps the voucher for the books until the right day and says so
Erasure across messages and mailErase thoroughly. Erasure reaches the person’s messages, the email they sent and received with its original copies, and files marked as being about them.Conversations by mailerasing an address reaches the mail received from it
Readable history after erasureKeep the record intact without the personal data. Erased words are blanked, and the timeline says what was erased.Privacy for conversationsan erasure erases her other conversations and keeps the complaint restricted saying until when
Admin-approved privacy requestsOnly an admin starts a privacy request for a customer, and nothing is erased until its plan is approved.Harbouronly an admin starts a privacy request and nothing is erased until its plan is approved
Self-service privacy requestsLet customers ask directly. They file access and erasure requests themselves, and each reaches the team as work with the legal deadline on its clock.Privacythe deadline is one calendar month moved past a weekend
Access and portability exportsAnswer access requests completely: an access export with each category’s purpose, legal basis and retention, and a portable export.Privacyan access export carries every category with its purpose basis and retention
Configurable retentionSet retention periods within the limits each data category declares, with presets per country.Privacya period below the kits minimum is refused with the reason
Records of processingKnow what you hold: what is kept about people, on which basis and for how long, derived from the application itself.Privacythe records of processing list every category with its basis and period
Automatic daily purgeData past its retention period is purged each day, and the purge is recorded.Privacyevery category of every holder is purged and recorded

Nothing matches. Try fewer words.

A complete application. Reusable foundations.

Harbour combines 22 reusable Osy# kits with its own helpdesk logic. Conversations, assignment, identity, notifications and privacy provide foundations that other applications can use too.

Start with Harbour, adapt it to your team, or use the same kits to build something different.

Explore the Harbour template