# SimpleSupport
> Simple, fast, and easy-to-integrate customer support for small businesses and micro-SaaS.
## What is SimpleSupport?
SimpleSupport is a lightweight helpdesk system that lets any business add professional customer support to their website with a single line of code. It runs on our systems with global response times under 50ms with zero cold starts.
## Key features
- Ticket system with statuses (open, in_progress, resolved, closed) and priorities (low, medium, high)
- Embeddable JS widget: one script tag, under 5KB gzipped
- Admin panel for managing tickets, replies, agents, and settings
- Email notifications for customers and agents via SendGrid
- REST API for programmatic integration
- GDPR compliant by default: no cookies, no tracking, no consent banner needed
- Multi-tenant: each business gets an isolated account with its own API key
- Teams and departments for ticket routing — up to 3 on Pro, up to 10 on Business, unlimited on Scale
- Email gateway: customers create tickets by emailing support@yourcompany.com (Pro, Business and Scale; 14-day trial on Starter)
- Custom domain (Business and Scale); custom logo and favicon URLs on Pro, Business and Scale.
- AI first replies based on your own content (FAQs, policies, instructions): draft mode on Pro (agent approves), fully automatic for selected ticket types on Business and Scale — with custom rules, routing, and human fallback. Scale tier allows bringing your own AI API key.
- White-label (no "Powered by SimpleSupport.uk"), SSO/SAML, signed SLA and dedicated onboarding available on Scale (€149/mo early-adopter, €249/mo standard).
## Integration
Add the widget to any website:
```html
```
Works with: WordPress, Jekyll, Hugo, Next.js, React, Webflow, Shopify, or any website that accepts a script tag.
### WordPress plugin
Native WordPress plugin available on the WP.org directory. Install → paste publishable key (pk_) → done.
- Floating support widget injected via wp_footer (no code needed)
- Ticket summary inside wp-admin: aggregate counts only (open, in-progress, waiting, total) — no ticket detail/PII via the publishable key
- Red badge on the wp-admin menu item showing pending open tickets
- Shortcode [simplesupport] to embed on a specific page
- Configurable position (bottom-right / bottom-left) and brand colour
- Plugin page: https://simplesupport.uk/wordpress-plugin/
## API
Base URL: https://app.simplesupport.uk
Authentication: `Authorization: Bearer YOUR_KEY`. Two key types (Stripe-style):
- pk_ publishable key — the one in the data-key widget snippet, safe in client HTML. Scope: create tickets + a customer's own by-email tickets only.
- sk_ secret key — server-side only, never exposed. Required for the privileged endpoints (list all / fetch / reply / patch by id). Minted in dashboard Settings → Widget.
### Ticket endpoints
- POST /api/tickets: Create a ticket (customer-facing) — pk_ or sk_
- GET /api/tickets: List all tenant tickets — sk_ only
- GET /api/tickets/:id: Get ticket detail with messages — sk_ only
- POST /api/tickets/:id/messages: Reply to a ticket — sk_ only
- PATCH /api/tickets/:id: Update status or priority — sk_ only
- GET /api/tickets/by-email, GET/POST /api/tickets/by-email/:id[/messages|/close]: Customer self-service scoped to one email (pk_) — returns only that email's own tickets
### Auth
- POST /api/auth/register: Register a new tenant and admin agent
- POST /api/auth/login: Login and get session cookie
- POST /api/auth/logout: Clear session
- POST /api/auth/forgot-password: Send password reset email
- POST /api/auth/reset-password: Reset password with token
- OAuth (Google): under /api/auth/* (login/callback)
### Admin endpoints (session cookie required)
- GET /api/admin/me, PATCH /api/admin/me/prefs: Current agent + UI prefs
- GET /api/admin/dashboard: Stats summary (open, in_progress, resolved today, by_day)
- GET /api/admin/tickets, GET /api/admin/tickets/:id: List + detail with filters (status, priority, search, date range, cursor)
- POST /api/admin/tickets/:id/messages, PATCH /api/admin/tickets/:id: Agent reply, update status/priority/assignee
- POST /api/admin/messages/:id/approve, DELETE /api/admin/messages/:id: Approve/discard AI draft replies
- POST /api/admin/ai/test: Test AI agent against the knowledge doc
- GET/POST /api/admin/agents: List or invite agents
- GET /api/admin/settings, PATCH /api/admin/settings: Tenant settings, API key, widget colors/position
- GET/POST/PATCH /api/admin/sites: Multi-site config (per-site widget, AI knowledge, branding)
- POST /api/admin/trial/start: Start the 14-day Pro/Business feature trial on Starter
### Teams (admin)
- GET/POST /api/admin/teams, PATCH/DELETE /api/admin/teams/:id: CRUD teams
- GET/POST /api/admin/teams/:id/agents, DELETE /api/admin/teams/:id/agents/:agentId: Manage team membership
### Invites
- POST /api/invites/redeem: Redeem an invite token (public)
- GET /api/admin/invites: List invites for this tenant
- POST /api/owner/invites: Owner-only invite issuance
### Widget (public)
- GET /widget/widget.js: Widget JS bundle
- GET /widget/widget.css: Widget styles
- GET /widget/embed: HTML embed snippet
- GET /widget/config: Tenant config for widget (Bearer auth)
### Contact
- POST /api/contact: Public contact form (no auth)
## Data model
- Tenant: id, name, domain, plan (starter/pro/business), api_key, email_slug, trial_started_at, settings (JSON)
- Agent: id, tenant_id, email, name, role (owner/admin/agent), password_hash, settings (JSON)
- Site: id, tenant_id, name, domain, widget config, AI knowledge doc, branding (per-site overrides)
- Team: id, tenant_id, name; AgentTeam: agent_id, team_id (many-to-many routing)
- Ticket: id, tenant_id, site_id, customer_email, customer_name, subject, status, priority, source (widget/email/api), assigned_agent_id, team_id
- Message: id, ticket_id, sender_type (customer/agent), sender_id, body, is_ai (draft/auto-sent flag)
- Attachment: id, message_id, filename, content_type, size, storage_key
- Invite: id, tenant_id, token, role, email, owner_issued, redeemed_at
## Pricing
- Starter (free): 1 seat, 100 tickets/month, JS widget, email notifications
- Pro (15 EUR/month early-adopter locked-for-life, 29 EUR/month standard): 5 seats, 1,000 tickets/month, AI draft replies based on your content (agent always reviews before sending), custom instructions and tone, email gateway, up to 3 teams, custom logo & favicon, support analytics
- Business (39 EUR/month early-adopter locked-for-life, 69 EUR/month standard): 15 seats, 3,000 tickets/month (extra usage in packs of 250), up to 10 teams, fully automatic AI replies for selected ticket types, advanced rules/routing/human fallback, custom domain, REST API access, web analytics (no cookies), priority support, DPA
- Scale (149 EUR/month early-adopter locked-for-life, 249 EUR/month standard): unlimited seats and teams, 6,000 tickets/month (extra usage in packs of 500), multi-site unlimited, full white-label (no "Powered by"), SSO/SAML, signed SLA, bring-your-own AI API key, dedicated onboarding, priority support + dedicated
- Enterprise (sales-led, no public price): 50,000+ tickets/month, signed MSA, on-premise or custom security requirements
## Blog
Evergreen guides and tutorials. EN is the default; every post is also available in Spanish (/es/blog//) and French (/fr/blog//) with hreflang.
- Blog hub: https://simplesupport.uk/blog/
- How to add a support widget to WordPress: https://simplesupport.uk/blog/add-support-widget-wordpress/
- How to add a support widget to Shopify: https://simplesupport.uk/blog/add-support-widget-shopify/
- How to add a support widget to Next.js or React: https://simplesupport.uk/blog/add-support-widget-nextjs-react/
- How to add a support widget to Webflow: https://simplesupport.uk/blog/add-support-widget-webflow/
- What is a support ticket: https://simplesupport.uk/blog/what-is-a-support-ticket/
- Live chat vs. a help desk: https://simplesupport.uk/blog/live-chat-vs-help-desk/
- Email-to-ticket, how it works: https://simplesupport.uk/blog/email-to-ticket-how-it-works/
- GDPR-compliant customer support: https://simplesupport.uk/blog/gdpr-compliant-customer-support/
## Links
- Website: https://simplesupport.uk
- About: https://simplesupport.uk/about/
- Dashboard: https://dashboard.simplesupport.uk
- API: https://app.simplesupport.uk
- Docs: https://simplesupport.uk/docs/
- Pricing: https://simplesupport.uk/pricing/
- Comparisons hub: https://simplesupport.uk/vs/
- Comparisons: https://simplesupport.uk/vs/zendesk/, https://simplesupport.uk/vs/helpscout/, https://simplesupport.uk/vs/freshdesk/, https://simplesupport.uk/vs/intercom/, https://simplesupport.uk/vs/crisp/, https://simplesupport.uk/vs/tidio/, https://simplesupport.uk/vs/gorgias/, https://simplesupport.uk/vs/tawk/, https://simplesupport.uk/vs/freescout/, https://simplesupport.uk/vs/zoho-desk/, https://simplesupport.uk/vs/zoho-salesiq/, https://simplesupport.uk/vs/fin/, https://simplesupport.uk/vs/chatwith/, https://simplesupport.uk/vs/chatwoot/, https://simplesupport.uk/vs/customerly/, https://simplesupport.uk/vs/desku/, https://simplesupport.uk/vs/front-chat/, https://simplesupport.uk/vs/nextop/, https://simplesupport.uk/vs/roboresponse/, https://simplesupport.uk/vs/supportcandy/