The whole front office, one app away.
Phone lines, a shared inbox, customers, cases, bookings and billing in one place. It works the same for a team of three or three thousand.
Good morning, Alex
Thursday, October 8 · Here's what needs you today.
Can you come Friday instead? Morning works best.
Quick question about invoice #1042
Is the 10am slot on Saturday still free?
9:301:003:30Calls, conversations and payments. Nobody types it twice.
Each piece works on its own. Together they share one customer record, so a missed call, a text thread and an invoice all land in the same place.
No ringing into the void.
Toll-free or local numbers bought in minutes. When nobody can pick up, the caller gets a text back and the call becomes a ticket someone owns.
"Sorry we missed you! We'll call you back today."
Automation · after a missed callOne thread per customer.
Calls, texts, email and web chat from the same person, as one conversation.
Can you come Friday instead?
Quick question about invoice #1042
Is the 10am slot still free?
Missed call · voicemail 0:41
Request: yearly service plan
From “can you come Friday?” to paid.
Booking, invoice, payment and review, in four steps nobody typed twice.
Answers for audit, IT and procurement.
Roles, passkeys, an audit log and data stored in Canada.
| Time | Who | What |
|---|---|---|
| 09:14:02 | Alex Park | Exported 1,204 contacts |
| 09:12:47 | Alex Park | Signed in with a passkey |
| 08:58:30 | Sam Kerr | Changed J. Doe to Manager |
Twenty-one modules. Flip on what you need.
Each module works on its own, and the ones you switch on share one customer record. Hide any module without losing its data.
See every module in detailTalk5
Customers6
Work & money10
Three lines from signup to customer.
Everything the app does, your code can do. Send sign-ups to the CRM, forward support email in, and get a signed webhook whenever something changes.
import { Kylosys } from "@kylosys/sdk";const kylosys = new Kylosys(process.env.KYLOSYS_KEY);// When someone signs upawait kylosys.contacts.create({ email: user.email, source: "signup",});// Let the team know, in the inbox they already useawait kylosys.notes.create({ contact: user.email, body: "New sign-up" });
# Settings › Channels › Emailfrom: [email protected]to: [email protected]status: receivingreplies: sent from [email protected] # after SPF + DKIM# Every email becomes a conversation in Inbox,# matched to the sender's contact record.
// POST https://api.acme.ca/kylosysapp.post("/kylosys", (req, res) => { if (!kylosys.webhooks.verify(req)) return res.sendStatus(401); const { type, data } = req.body; if (type === "ticket.created") notifyOnCall(data); if (type === "invoice.payment_recorded") markPaid(data); res.sendStatus(200);});
Built for three seats or three thousand.
Trades, clinics, salons and shops that live on the phone. One number for the whole team, jobs booked and paid without paperwork.
30+ seatsEnterpriseService teams across locations. Queues by team, reply timers per channel, roles and an audit log.
Residents, not seatsPublic sectorService lines for permits, waste and roads. Bilingual, with a public help centre and intake forms.
Per projectDevelopersA back office for every app, course or client site, one workspace each.
Pay per seat. Nothing hidden.
14-day free trial, no card. Every plan includes your number and free migration help.
Starter
Solo pros and tiny teams
- Phone number & shared inbox
- CRM contacts & calls
- Projects
Team
Small teams who share customers
- Call routing, hours & menus
- Deals pipeline & Helpdesk
- 20+ integrations
Business
Growing teams that need control
- Recording, transcripts & summaries
- Reply timers & custom fields
- Advanced reports
swipe to see every plan ›
Questions, answered.
What is Kylosys?
One app for the way a business talks to and looks after its customers: a business phone with toll-free numbers, a shared inbox, CRM, helpdesk, booking, invoicing and more, all sharing one customer record.
Can I use just one module?
Yes. Start with Phone or Inbox and add others when you need them. Hiding a module removes it from the sidebar without deleting anything.
Can I connect my own app?
Yes. The API sends sign-ups to the CRM, opens tickets and records payments, and webhooks tell your app when something changes.
Can I get a toll-free number?
Yes. Search for a 1-8XX number inside Kylosys, buy it, and start taking calls and texts. You can also keep your current number.
How does billing work?
Plans are per user per month, with a 14-day free trial and no card. Payments you collect go through Stripe into your own account.
Can I run more than one business?
Yes. Each business, app or client gets its own workspace with separate customers, inboxes and numbers, all under one login.