Skip to content
SolutionDesk

The one place for everything about your customers

Support requests, deals, events and newsletters for SaaS companies, in one workspace your team and your AI agents share. Your customers follow their requests in a portal inside your own product, without a second login.

14-day trial · No credit card · Your data stays yours

Support · CRM · Events · NewsletterYour domain, your brandingAgents connect over MCP

The problem

Your customer lives in five tools. Nobody sees all of them.

A SaaS team picks a tool for each job: support, sales, events, newsletters. It works until you need the whole customer in one view, and then everyone goes digging through someone else's system.

  • One customer, five tools

    Requests in the support tool, deals in the CRM, registrations in the event tool, readers in the mailing tool, decisions in email threads. Each keeps its own copy of the same contact, and none of them knows what the others know.

  • Sales and support can't see each other

    The account manager walks into the renewal call without knowing about the bug that blocked the customer's rollout. Support bumps a ticket without knowing the deal is days from signing.

  • “Any update on this?”

    Enterprise customers expect to see where their requests stand, at any time. Without a shared view someone writes it up by hand, per customer, every week.

Who gets in — four ways

Your team gets the whole picture. Everyone else gets exactly their slice.

Everything lands in the same workspace, whoever brings it. What differs is how each audience gets in — and how much of it they can see once they're there.

Email + password

Your team

The dashboard: every request as a ticket or on the board, with statuses, priorities, labels, due dates and assignees. Internal notes and internal tickets stay behind the staff line.

app.solutiondesk.io/acme

OAuth · MCP

Your AI agents

Not a chatbot bolted on top. An agent connects its MCP client to your workspace, gets a member account with a role, and works the same tickets your colleagues do.

api.solutiondesk.io/v1/mcp

Host-brokered MagicLink

Your customers

Your backend mints a portal link and redirects. They land signed in, on your domain, in your branding — no SolutionDesk account, nothing to remember, no second password.

support.your-saas.com

Capability link

Anyone with the link

A guest portal for a group with no host account at all — a tester cohort, a beta round, a feedback session. Share the link, optionally behind a password; flip it off when the round ends.

/guest/acme/beta-round-2

How it works

The Stripe Customer Portal way — for support.

  1. 01

    Sync the user once

    Your backend upserts the end-user by the id they already carry in your system, together with the company they belong to. It's idempotent, so calling it on every login is fine.

  2. 02

    Mint a link, redirect

    One POST returns a single-use portal URL. Wire it to the “Support” button in your app. No SDK, no iframe gymnastics, no user directory to keep in sync.

  3. 03

    They see exactly their slice

    They land signed in — on your domain, in your branding. Their own tickets and progress, plus anything an access rule grants them. Internal notes never reach the portal: enforced on the server, not hidden in the UI.

your-saas/backend — the whole integration

Server-to-server · Bearer API key

POST /v1/integration/end-users
       { "externalId": "usr_8f2", "email": "lena@bigcorp.com", "name": "Lena Sørensen", "companyExternalId": "org_412" }
  → 200  { "endUserId": "eu_3c1" }

POST /v1/integration/portal/links
       { "externalId": "usr_8f2" }
  → 200  { "url": "https://support.your-saas.com/portal?token=…" }

Every request, deal, registration and reader. One customer. One place.

CRM · optional module

The people you sell to are the people you support.

Switch on the CRM and keep accounts, contacts and deals next to the tickets. Pipelines with won and lost, your own fields, notes, calls, meetings and tasks with reminders — and one timeline per account that shows sales and support together. Bring your records in from a spreadsheet, and undo the import if it went wrong.

Sales sees support

Link an account to the support customer it belongs to. Its tickets show up on the account, and every ticket from that customer shows who owns the account and which deal is close to signing.

Meetings turn into tickets

Write down the next steps in the meeting, then turn them into tickets for your team — shared with the customer's portal or kept internal. The meeting notes themselves never leave your side.

Your customers never see it

The CRM is for your team only. No account, deal or note ever reaches the portal, and it stays off until an admin switches it on.

Events · Newsletter · optional modules

Invite them in. Keep them informed. Remember who came.

Run customer days and webinars with a programme, places and a waiting list, and send newsletters to people who asked for them. Both live next to support and sales, so nothing has to be exported into another tool.

On your domain, in their language

Every event gets its own page with programme, images and registration, on your address or embedded in your website. Visitors read it in their language, and every email follows the one they registered in.

Consent you can show

Sign ups confirm by double opt in, and the newsletter keeps what each person agreed to, when and how. Campaigns go out through your own mail account; opens and clicks are counted only where someone said yes.

Back into the same customer

Registrants and readers land on the CRM contact you already have. The account shows who came to the customer day and who reads the product updates, next to their deals and tickets.

For your AI agents

Your agents don't need a chatbot. They need an account.

Point Claude, Cursor, or your own agent at the MCP endpoint. It authorizes over OAuth as a member of your workspace, and gets the same workspace your colleagues use — tickets and settings and, where you run them, the CRM, events and the newsletter. Nothing you didn't grant.

Every action on the record

Status changes, assignments, comments — an agent's writes land in the same immutable per-ticket timeline as a human's. When a customer asks who decided what, the answer is already written.

Bound to your workspace

The MCP connection resolves to the workspaces that one staff account is a member of. An agent cannot read across tenants, because the cross-tenant query doesn't exist.

api.solutiondesk.io/v1/mcp

OAuth · 124 tools

Reads

list_workspacesThe workspaces this agent can reach

list_ticketsThe queue

get_ticketOne ticket, in full

list_commentsThe conversation, staff-only notes included

list_membersWho's on the team, and which one it is

get_crm_accountThe customer behind the ticket — with the CRM on

list_event_registrationsWho registered, with their answers

Writes

create_ticketFile a request

add_commentReply — or leave an internal note

set_ticket_statusMove it along

assign_ticketHand it to a colleague

create_companyRegister an end-customer

create_tickets_from_crm_meetingTurn agreed next steps into tickets

update_eventPlan the programme, translate, publish

create_campaignDraft the next newsletter

Point any MCP client at the endpoint. It discovers the authorization server, asks you to approve the connection, and then lists itself under your connected apps — where you can revoke it again.

/.well-known/oauth-protected-resource

Built in

Everything a shared desk needs. Nothing your customers shouldn’t see.

Visibility, per ticket

Public for everyone. Internal for staff only. Restricted for exactly the end-users an access rule matches — by plan, region, or any attribute you send us. The default is always less exposure.

PublicInternalRestricted

White-label, down to the domain

The portal is your product's support area, not ours: your domain, your logo, your colors. Your customers never learn the name SolutionDesk — unless you want the discreet credit.

support.your-saas.com

Not every request is yours to answer

Big customers have their own support people. Let them triage on their own board first and escalate only what they can't solve. Until they do, the request stays theirs — your queue never sees it.

tier: "team" → "provider"

Mail from your own domain

Status changes and replies reach customers through your SMTP, from your address — so notifications look like you, land like you, and build your sender reputation, not ours.

from: support@your-saas.com

The board moves while you watch

A colleague claims a ticket, a customer replies, an agent changes a status — it appears. Every open board streams changes live, so two people stop working the same ticket by accident.

text/event-stream

Tenant isolation by design

Every read and write is keyed to your workspace's partition. One tenant's data is never one bad query away from another's — the cross-tenant query simply doesn't exist.

partition key: /workspaceId

A board for every team

Support, development, onboarding — each board with its own types, forms, statuses, priorities and labels. Only the Support board reaches your customers; the rest stay with your team. Move a ticket to another board and its subtasks come along — and you confirm before customers gain or lose sight of it.

Support · visible to customers

Find anything, from anywhere

One search for tickets, companies, people and — with the CRM on — accounts, contacts and deals. Type a ticket reference, a name or an email, and jump straight there.

⌘K / Ctrl+K

And the rest

  • Kanban board & list view
  • Pin your boards to the sidebar
  • Mute ticket email per board
  • Labels, per company
  • Priorities & due dates
  • File attachments
  • Ticket types with their own fields
  • Watchers & @mentions
  • Portal in your customers' languages
  • Roles, invitations & per-company portal roles
  • API keys, hashed at rest
  • Readable ticket references — 260701-F4KR
  • Light & dark theme
  • Embeddable widget — on the roadmap

FAQ

The questions your team will ask.

Do my customers need a SolutionDesk account?
No. Your backend requests a MagicLink from the SolutionDesk API and redirects the user into the portal — the same pattern as the Stripe Customer Portal. No signup, no password, nothing for them to remember.
Can customers ever see our internal notes?
No. Visibility is a property of every ticket and comment, enforced on the server. Internal tickets and internal notes never reach the portal — not styled away, simply never delivered.
Does the portal look like SolutionDesk or like our product?
Like your product. The portal runs on your custom domain with your logo and colors. The only trace of us is an optional, discreet “Powered by SolutionDesk”.
How does the integration authenticate?
With a per-tenant API key, server-to-server. Keys are stored hashed; you only ever see a display prefix after creation. Minting a MagicLink is one POST request from your backend.
What do AI agents actually do here?
They work alongside your team. An agent connects its MCP client — Claude, Cursor, or your own — and authorizes over OAuth as a member of your workspace. From there it files, answers, reassigns and closes tickets; with the modules on it logs calls, updates deals, plans events and answers registrations, and drafts newsletters — with the same role and permissions as a colleague, and every write on the record.
We need feedback from people who aren't customers yet. Testers, a beta round.
Open a guest portal. It's a shareable link — no account, no host system involved — where a group can file requests and follow the ones already there. Put a password on it if the group is sensitive, and switch it off when the round ends. The history stays.
Our biggest customers have their own support team. Can they filter first?
Yes. Turn on two-tier for that company and their requests land on their own board first, visible to their people and not to yours. What they can't solve, they escalate to you — same ticket, same reference, now in your queue.
Can we run internal work here too, without customers seeing it?
Yes. Add boards for development, onboarding or anything else — each with its own ticket types, forms, statuses and labels. Only the one board marked “Visible to customers” reaches the portal and customer email; tickets on every other board stay with your team.
We also sell to these customers. Do we need a separate CRM?
Not necessarily. Switch on the CRM module for accounts, contacts, deals in pipelines, meetings and tasks. Link an account to its support customer and sales sees the tickets, while support sees the account and open deals on every ticket. It's for your team only — customers never see any of it.
Do we have to use everything?
No. Support is always there; the CRM, events and the newsletter are modules an admin switches on per workspace. A team that only needs support never sees the rest, and switching a module off later keeps everything in it.
Can we run our customer events here?
Yes. Plan customer days and webinars with a programme, places, a waiting list, invitations and your own registration questions. Each event gets a page on your domain, can be embedded in your website or announced there with a bar or a window, and registrants land on their CRM contact.
Is the newsletter compliant with consent rules?
It's built for them: sign ups confirm by double opt in, each subscriber's consent is recorded with time and source, every mail has a one click unsubscribe, and opens and clicks are only counted for people who agreed. Campaigns go out through your own mail account.
Our customers aren't all English-speaking. Is the portal?
Yes. The portal chrome and your own configured texts — ticket types, statuses, priorities, field labels — carry translations per language, and events can be offered in several languages with the emails following the one each person registered in.
How is our data isolated from other tenants?
Every record is keyed to your workspace's partition, and every read and write carries that key. Cross-tenant access isn't a permission that can be misconfigured — it's a query shape that doesn't exist.

Bring every customer into one place.

Set up a workspace, invite your colleagues and your agents, and switch on what you need — support today, the CRM, events and newsletters when you're ready.

14-day trial · No credit card · Nothing to cancel