Phone System
The Phone System gives your workspace real business numbers with extensions, voicemail, call flows and an in-browser softphone - searched, bought and managed without leaving the app. It builds on Voice (outbound dialing to telephones) and will grow into IVR menus and queues.
- Get a number - owners and admins open Get a number on the Numbers page. Search local or toll-free numbers by area code, city or US state, with Number contains and Texts if you need them. Each result shows where it is, what it can do (calls, texts, picture texts) and the monthly price. Add as many as you need to Your order, give each a name if you like (for example Texas office), and choose how each one rings: one of your published call flows, or set it up later. If little matches, it suggests a nearby area code, anywhere in the state, or toll-free. Continue to the checklist: it shows whether buying is switched on, whether you have room under your number limit and monthly budget, who answers, the call recording notice and texting registration, and Pay waits until the must-do rows are done. Numbers are bought one at a time and work straight away; numbers are not held until you buy. Tabs at the top take you to Bring my number (a transfer) or Use my own carrier. You can also add a number you already own elsewhere (BYO). To rename a number later, owners and admins press Rename on its card on the Numbers tab; everyone sees the name above the number.
- Call from your browser - on the Calls tab, turn on the Softphone: a real dialer with a keypad and a number display. Type a number and press Call. Your workspace number is the caller ID, the call is checked against your caps and the do-not-call list before it rings, and Hang up works at every stage - while it is connecting you, while it is ringing, and once you are talking - so a call in flight can always be stopped. In-call you can mute and send keypad tones. Available on workspaces using a WorkBOS number; the microphone permission is asked for by your browser the first time.
- Numbers in other countries - the country picker lists everywhere the carrier sells, and says what each one costs you in paperwork before you choose. Where a number is issued instantly you buy it from the search as usual. Where the regulator wants a registered local address or an identity document first, you get a request instead of a Buy button: start it, fill in the address, attach what they ask for, and submit. We carry the packet to the carrier and the status moves from With WorkBOS to With the carrier to Approved, on your Numbers tab. You are not charged for anything until the number is live, and if it is refused you get the reason. Where the carrier simply has no inventory in a country, connect a number you already hold with a local carrier and it works today.
- Call a teammate - calling a colleague is a separate product from the phone system, not a part of it. It rings a colleague over the internet, from your browser to theirs, on every plan, Free included; it needs no WorkBOS phone number, nothing is charged per minute, and it never reaches the public telephone network. Start it from Team Chat, from the colleague directory, or from the Contacts directory on this page: a green dot beside a teammate means they have WorkBOS open, and Call then rings their browser over the internet rather than the telephone network. Without the green dot there is no browser to ring, so Call reaches them the way any other call does, through this paid phone system and their forwarding number.
- Answer calls in your browser - turn on the Softphone and it registers as reachable. When a customer calls your number, your browser rings, shows their number (and their name if they match a lead or client), and you answer or decline in the app. You do NOT need to create an extension first: any workspace with the dialer open and heartbeating is rung directly. Extensions refine which browser rings when you have several people; they are not a prerequisite. If your browser is closed, or nobody has the dialer on, the call forwards to your mobile and then voicemail exactly as before.
- Transfer a live call - while you are on a call in the floating phone, press Transfer, then pick a teammate (it rings the forwarding number on their extension) or type any number. This works on calls you placed and on incoming calls you answered in the browser. The person you are talking to is connected to them and you drop off. If nobody picks up, an incoming caller is taken to voicemail rather than left on a silent line. A transfer is checked against your caps, the kill switch and the do-not-call list, the same as placing a call; one of your own workspace numbers cannot be the target; and only the person on the call or an owner or admin can transfer it.
- Talk first (warm transfer) - being switched on workspace by workspace, starting with ours. On an incoming call you answered in the browser, press Transfer, pick a teammate or type a number, then press Talk first instead of Transfer and drop off. The caller hears hold music while you talk to the other person. Press Complete to leave and connect the caller to them, or Cancel to hang up on them and go back to the caller. A line on your call dock says what is happening. If they do not answer or hang up, you are back with the caller on your own. If you hang up after they answered, the caller is handed to them; if you hang up before that, the caller goes to voicemail. If the caller hangs up, everyone else is hung up and your dock says so. Sometimes your browser rings again a moment after you press Talk first: answer it to carry on. A teammate must be in your workspace with their browser phone on; an outside number is checked like any other call and is refused while outside calling is switched off on the platform. Talk first works once per call, and after it Transfer, Park and Hold are put away for that call.
- Hold music - press Hold during a call and the other person hears music instead of silence, until you press Resume. By default it is the built-in music; an owner or admin can choose one of your own recorded greetings instead under Phone settings, What callers hear, Hold music. Only recorded greetings can be played this way, not typed ones. A call between two teammates in the app has no phone line to play music on, so Hold just pauses it.
- The contacts directory is a real table - leads, clients, CRM contacts and teammates in one list with a column each for company, job title, status, email, owner, extension and the date they were added, plus a count of any other numbers the person owns. Pick your columns, sort, group by kind, page through it and export to CSV. Beside the dialer it stays the compact two-line list, because there the job is to find somebody and press Call.
- Your own ringtone - in Phone settings, My phone, open Advanced, then Your own ringtone sound, choose Upload your own and pick an MP3, WAV, OGG, M4A or WEBM file up to 1 MB and 30 seconds. It plays and repeats when a call rings in your browser until you answer. Only you can hear or change your file. You can preview it, replace it, or remove it to go back to the classic ring, and if the file ever fails to load the call rings with the classic tone instead of staying silent.
- Call flow builder - on the Call flow tab, your flow is drawn as a diagram from A call comes in down to every place a call can end, with the whole flow in one line of plain English above it. Owners and admins add steps from the list on the left (Business hours, Ring people, Phone menu, Route by caller area, Play a message, Forward to a number, Voicemail, and more under More steps) or with + Add a step on the diagram itself, where a new step slots in without cutting the flow. Click any step to change it on the right. Business hours split into Open and Closed side by side, a menu shows one branch per key, and a ring step shows what happens if nobody answers. Anywhere the diagram says Takes a message, the call goes to voicemail. The box at the bottom right says Every path ends safely when the flow is ready, or lists what to fix, and Publish waits until it is clean. Save draft keeps a flow that answers no calls yet. A live flow that no number answers can be taken back to draft with Take back to draft; if numbers still answer it, move them to another flow first. On the list of flows, Publish, Unpublish and Remove each ask before they act; Remove says the flow cannot be undone, and a flow a number still answers cannot be removed or unpublished until that number points elsewhere. Everyone else in the workspace sees the same diagram but cannot change it. A menu with many keys wraps its branches onto more rows, each labelled with its key. A new flow starts empty, with only A call comes in and + Add your first step, and above the diagram a choice of ready-made flows for your kind of business (any business, marketing agency, consulting, real estate, law, accounting, construction, home services, clinic or med-spa, e-commerce and wholesale, recruiting, education and training, nonprofit). Choosing one fills the diagram with that flow as unsaved changes, with Undo; every step can then be changed, and it is ready to publish as it stands. A flow can be saved once it has a step. Any step can be changed or removed with the two small round buttons on the top edge of its card (they show when you point at a card or choose it; on a phone, tap the card first): the arrows button turns it into another type (its settings are cleared, but calls still reach it and carry on to the same next step), and the x on the corner removes it. Both ask first, in plain words, what goes and where calls go instead, and removing offers Undo straight after. You can also drag: drag a step from the Add a step list onto any + in the diagram to add it there, or drag a step already in the flow onto another + to move it (a move can be undone). A step that splits the call several ways (a phone menu, business hours, routing) moves with everything under it: drop it on an open end (where the diagram says Takes a message), and the place it left then takes a message; only the places it may go light up while you drag. The first step stays where it is. Nothing is saved until you press Save draft or Publish. History, at the top of a saved flow, lists its earlier versions (the newest 50 saves that changed something, with when and who): each version lists what changed from the one before (steps added, removed or changed, and a new name), and Load puts one back in the diagram as unsaved changes, with Undo, and it only replaces what is answering calls once you save or publish it. Cancel, do not add takes back a step you have just added, and Discard changes puts one step back to how it was when you chose it. Removing the first step makes what came after it the first step. Long lists on the diagram are shortened, like TX, CA, NY and 12 more, and many branches sit side by side in a row you can scroll. The line above the flow name says which numbers the flow answers; press it to choose them. A number answers one flow, so moving a number from another flow asks first, and a draft answers no number until it is published.
- Area routing - send callers to the right place by where they are calling from. In a call flow, choose Add a step, then Area routing (by caller location). Each row lists states or provinces, area codes or cities, and says where those callers go: a step already in the flow, an outside phone number, a team, or one person. Rows are checked from the top and the first match wins, and everyone else goes to the place you choose at the bottom. Location means where the caller's number is registered, not where the person is standing. States and area codes are worked out from the number itself and cost nothing. Cities need Caller lookup to be on in Phone settings, and the table says so on any row that has a city. To fill a row quickly, find a state by name or code and add the whole state or every area code in it, or add all 50 states and DC, or every US area code at once. Which state an area code belongs to is the same list the phone system itself uses when a call comes in. Each area can go to one place only: if Texas is in one row and Texas, or an area code in Texas, is in another row going somewhere else, both rows say so and the flow cannot be published until it is fixed. Different area codes of the same state can go to different places. Two rows sending the same area to the same place are allowed, with a note that they can be merged. The Everyone else choice is required.
- Caller lookup - an owner or admin can turn it on in Phone settings, Numbers, Caller lookup. It is off until you turn it on. Before an incoming call is answered we ask the phone network about the number, and the call then shows where the line is registered, the phone company and the phone type, like Austin, TX · Mobile · T-Mobile. A second switch adds the caller name the network has for the number. You see it on the incoming call, during the call, in the call log and on the Live board. Each new number checked costs 1 cent for location, phone company and phone type, and 1 cent for the name, added to your phone bill and counted against your monthly phone spend limit. Results are kept for 30 days, so a caller who rings again in that time is not charged again. You can also set the most numbers to check each month. In a call flow, a Route on who is calling step can send callers different ways by phone type (mobile, landline, internet phone, toll free), city, state or phone company. Those four rules only work while Caller lookup is on. A slow or failed check never holds up a call: it is simply answered without the extra line.
- Lead source icons - every lead shows an icon for where it came from (phone call, text, voicemail, Facebook, website and so on) on the Leads list and the lead page. Owners and admins can open Sources on the Leads page and pick a different icon for any source, or go back to the default. The choice applies to the whole workspace.
- Lead links - when a call, text or voicemail belongs to a lead, the phone Inbox, the Calls list and the call bar show Lead: and the name; click it to open the lead. On the lead page, Came from links back to the phone conversation for its number and to any Social Inbox conversation it was made from. To rename a lead (for example one called Caller 1234), click the pencil next to its name on the lead page.
- Automatic leads - on the Leads page, owners and admins open Automatic leads and choose which new conversations make a lead by themselves: Calls (that last at least the seconds you set and did not go to voicemail), Voicemails, Texts and Social messages. Each source is off until you switch it on. A call counts only for the time after a person answered, so menu and ring time does not count. Robocalls, toll-free numbers (with or without the leading 1) and callers the carrier marks as spam never create new leads, although a number that already has a lead still links to it. A new lead is named from the caller name the carrier gives when there is one, otherwise Caller and the last four digits, gets the source and a note saying it was made automatically, and goes to the default owner you pick (or nobody). If the number already has an open lead, the conversation is added to it instead. Known clients, contacts and earlier leads, your own numbers, and texts that only say STOP or HELP never make a lead. At most 50 a day. Your lead automations run on these leads too. Social messages start working once live social inbox syncing is on. Skipped recently - the Skipped recently tab of the same window lists the calls, voicemails and texts that automatic leads passed over in the last 90 days, with when, who, what and why in plain words (a free-phone number, marked as spam, hung up before anyone answered, a call shorter than your rule, one of your own numbers, already a contact, only a STOP reply, or the daily limit). Nothing is hidden: these callers did not become leads, and you can make one by hand with Make lead on the row (not offered for someone who is already a contact or one of your own numbers) or open the call, voicemail or text it came from. A row disappears from the list once that call, voicemail or text has become a lead. People who are not owners or admins see only the calls they took or made; voicemails and texts are listed for everyone on the staff. Starter templates (Save as template) carry your shortest call length, but they never switch automatic leads on: a workspace made from a template starts with all four switches off and its admin turns them on; the default owner is never copied.
- Make lead - on a phone Inbox conversation, a row in Calls, or the call bar while you talk to a number you do not know, press Make lead. The name ("Caller" and the last four digits unless you type one) and the number are filled in; add what they want and who owns it. If that number, email or social handle already has an open lead (the match can also come through the email of the contact who owns the number) you are told which one matched and offered Add to that lead or Make a new lead anyway. A conversation belongs to one lead and is never moved to another. You need to be allowed to create leads.
- The phone Inbox - Phone, Inbox is where the phone system opens. Every call, text and voicemail is in one list with one line per person, newest first, named from your leads, clients and contacts when the number matches, and saying what happened last in plain words, such as Missed call, left a voicemail. A dot marks anything not yet seen. Use All, Unread, Missed and Voicemail, or search by name or number. Pick a person to see everything with them in time order, play voicemails and read their transcripts and AI notes, then press Call back, or type a reply and press Send. On a phone the list and the conversation take turns, with a Back button. The sidebar shows Inbox, Contacts, Live board, Numbers and call flows, and Settings; Reports, Calls, Voicemail, Messages, Dialer, Call flow and System check are under More. At the top of every phone screen you can see whether you are available, press Change to turn do not disturb on or off, and press Call or text to open the phone.
- Video from a call - on a call with an outside number, press Video. Your caller gets a text with a link to a video meeting, and the meeting opens for you in a new tab. Your phone call keeps going until you hang up, so you can talk them through joining.
- Call parking - on a call, press Park. The caller hears hold music and gets a spot from 1 to 20, shown on your call dock. Anyone on your team with the browser phone on types that number in the dock and presses Pick up to take the call. If nobody picks up within the parking time (Phone settings, 1 to 10 minutes), your phone rings once, then the caller goes to voicemail. The live board lists parked calls.
- Picture texts - in Texts, press the paperclip to attach up to 3 pictures (jpeg, png or gif, each up to 1 MB) and send them with or without words. Pictures your customers send back show in the conversation. A picture text counts as 3 texts against your allowance. Only people who can read your texts can see the pictures, and read-only seats cannot send them.
- Call queues - add "Hold callers in a queue" to a call flow. Each caller hears your message and their place in line ("You are caller number 2"), then your hold music while every free teammate's browser phone rings. If nobody answers, everyone free is rung again until someone picks up or the longest wait you set (1 to 30 minutes) runs out; the call then goes to the next step or voicemail. Callers are answered in the order they rang, people on do not disturb or already on a call are skipped, and waiting callers show on the Live board. Under Who answers you can ring everyone free in the workspace or only the people you pick.
- Ring a person - add "Ring a person" to a call flow and choose a teammate. Their phones ring the same way dialling their extension rings them: their browser first, then each of their own numbers in turn. Nobody is rung while they are on do not disturb. If nobody answers, the call goes to the step you choose, or to that person's own voicemail box. There is no queue and no hold music. A teammate without an extension can only be rung in the browser. In Area routing, choosing one person uses this step.
- Dial by extension - add "Let the caller dial an extension" to a call flow. The caller hears your message, keys in a teammate's extension, and that person's phones ring the same way "Ring my phones" rings them: their browser first, then each follow-me number. If the extension does not exist or the person is on do not disturb, the caller gets one more try; pressing 0, keying in nothing, or nobody answering sends the call to the step's fallback, or to that person's own voicemail. Only people in your own workspace can be reached, and nobody is rung outside business hours.
- The live board - Phone, Live board is a screen your team can leave open: callers waiting now and the longest wait, calls in progress with a running clock, who is on a call, free, on do not disturb or away, and today's answered calls, missed calls and average call length. It refreshes every 10 seconds while you are looking at it, and Full screen fills a spare monitor. Everyone in the workspace sees the counts and who is busy; the phone numbers on other people's calls are shown to owners and admins only. Today means since midnight in your workspace's time zone.
- Finding a phone setting - Phone, Settings has six groups: Numbers (your numbers, bringing a number from another phone company, caller lookup), People and teams (extensions, ring groups, business hours, holidays), What callers hear (welcome greeting, hold music, closed message, voicemail boxes, parking time, mailbox greetings, AI receptionist), Recording and privacy (call recording, the recording notice, how long recordings are kept), Billing and limits (limits and spend, carrier, your own carrier) and My phone (ringtone, do not disturb, follow me, your own ringtone sound). Type in Find a setting with everyday words such as budget, holiday, follow me or consent, then pick a match or press Enter to open the first one; it goes straight to that row and opens it. You only see the settings your role and plan allow.
- The system check - Phone, System check runs every check on your phone set-up. Anything that is not working has a button that takes you to the place where it gets fixed. Below the checks, a Compliance section shows whether call recording follows the law where your callers are (and how many calls in the last 30 days were recorded, asked, declined or not allowed), whether your business is registered for texting, and that spam labelling is not something we can measure yet. Owners and admins also see a history of every check, every fix button pressed, and every problem found, taken on, fixed or come back, with who did it.
- Call recording and the law - when recording is on, each call follows the recording law of where the people on it are, using the same rules as meeting recording. Where one person agreeing is enough, callers hear that the call may be recorded. Where everyone must agree, for example California, Florida or the UK, the caller (or, on a call you make, the person you call) is asked to press 1 first, and the call is only recorded if they do. Where recording is not allowed, the call is not recorded. Recording is off until an owner or admin turns it on. The call log shows why each call was or was not recorded.
- Bringing a number from another carrier - owners and admins choose Bring a number you already have on the Numbers tab: the numbers (up to 50), the name and address on the old account, the account number and transfer PIN, a signed letter of authorization (WorkBOS fills one in to print) and a recent bill. WorkBOS checks the numbers can move, then sends the request. The account number and PIN go straight to the carrier and are never stored. The request shows each step and what the old carrier said; if they reject it, fix the details and send it again. When a number arrives it works like any other number, with your default call flow and voicemail, and owners and admins are told. If another workspace is also bringing the same number: while their request is only a draft, whoever sends a complete request first goes ahead, and the other request is marked Replaced and its owners and admins are told. Once a request is with the carrier, nobody can jump in: a second request is saved but held, with a red notice, and the workspace already moving the number and WorkBOS staff are told so it can be checked by hand.
- Sharing a number - a number can belong to several teammates (up to 10). An incoming call rings all of them at once - in the browser if they are signed in, otherwise on their first follow-me number - and the first to pick up takes it. Owners and admins choose who a number rings with Change next to Rings on the number card; each person needs an extension first, and a person has one direct number, so choosing them moves them off any other.
- Releasing a number - an owner or admin can release a number they no longer need. WorkBOS hands it back to the phone carrier as well, so billing for it stops; if the carrier is busy, it tries again on its own. A released number can be given to someone else by the carrier, so this cannot be undone. A number you brought from your own carrier is only removed here.
- Your numbers, on cards that say what each one is - the number itself, whether it can take calls, send texts or both, which call flow answers it, which extensions ring from it, the voicemail box it drops into, the carrier, the monthly rental, what has been charged for it this period and how long you have had it. The default sending number is marked, and any number can be copied with one click.
- Click to call from a record - every lead and client record, and the client list, has a Call button that opens the softphone with the number already filled in, so you place the call from the CRM where the context is. The number is never put in the address bar.
- Always reachable - once you have used the dialer it reconnects by itself on every load, and comes back when your tab wakes or the network returns; you do not have to switch it on each time. A new workspace is reachable by default, and an explicit power-off is remembered. Incoming calls ring out loud and also raise a desktop notification, so a call does not go unnoticed while you are working in another tab.
- A dialer you can move and tune - the floating softphone drags anywhere (grab its header or the Available pill) and remembers the spot per browser. Its Settings hold your availability, your caller ID, your ringtone (Classic ring, Digital beeps, Soft chime, or Silent - incoming calls actually ring out loud) and shortcuts to voicemail greetings and your numbers. Both keypads validate as you type and hold 0 to type +, like a mobile phone.
- Choose the number you call from - workspaces holding several numbers get a Call from picker on the dial pad and the dock. The choice is validated on the server against the numbers the workspace actually owns, so the caller ID a customer sees is always yours.
- Social publishing, connected properly - connecting a social account, publishing, refreshing tokens and pulling content sources all run server-side on your behalf. If you connected an account before 13 August 2026 and it never seemed to do anything, reconnect it: the server side of that module was repaired in v1.110.0.
- Delivery receipts on texts - an outbound message shows a clock while it is sending, one tick when your carrier has it, two ticks when it reaches the handset, and a red mark with the reason if it fails. This works on whichever provider your workspace uses: Telnyx, Twilio and Plivo all report delivery differently and WorkBOS normalises them into the same four states. Carriers report DELIVERY, never whether a person read the message, so a text never turns blue - that is a limit of SMS itself, not of WorkBOS, and it becomes available on channels that do support read receipts.
- Messages arrive live - inbound texts and delivery ticks appear in the thread as they happen rather than on a refresh timer, and opening a conversation marks it read so the unread badge is accurate.
- Contacts - one directory on the Phone page of everyone you can call or text: leads, clients, CRM contacts and teammates (with their extensions), searchable by name, company, email, number or extension. Call rings them through the dialer; Text opens the message composer with the number already filled in. Names link to the full record - the directory reads the same records their own pages use, so nothing is copied and nothing goes stale.
- Remarks, assignees and next actions - open Remarks on any call (in the log, or right after a softphone call) to record what happened, all on one screen. Assign teammates from a searchable dropdown - each selected person shows as a chip you can remove, and each one is notified. Then pick a next action: type into the suggestions box and choose Follow-up call, Send a proposal, Send an agreement, Send a message, Send an email, Schedule a meeting, Set a reminder / recall, or Create a task. Picking one creates a real task in Tasks, assigned to the people you chose (or to you if you chose nobody), with an optional due date, the call’s details (who, which number, when) in the description, and a link to the screen where that action starts - the proposal composer, contracts, the message composer or the booking page. This is how a call turns into the next action instead of being forgotten. The Automations entry there links to your rules engine; calls are not an automation trigger yet and it says so rather than pretending.
- Every call is logged - the call log records every call through your numbers whatever the outcome: connected, canceled, no answer, busy or failed, inbound and outbound, each searchable and exportable. A call that never connected is still a record you can add a remark to.
- Extensions - give each teammate a short dial code (e.g. 101), an optional direct number, do-not-disturb, and up to five follow-me destinations that ring in order.
- Is my phone working? - a status line sits under the page title and answers it in one word: Live, Setting up, Needs attention, or Error. Beside it is the single most important reason, and every state links straight to the control that fixes it, so you are never told something is wrong without being shown where to go. It reads the same checks as the System check panel below, so the summary and the detail can never disagree.
- Setup happens by itself - buying a number now finishes its own carrier setup: the messaging profile, the call-control application, the outbound voice profile and the webhook wiring are all provisioned as part of the purchase, and anything that fails is retried in the background. You are only ever asked to do something by hand when the carrier itself refuses, and then you are told the carrier’s own reason rather than a generic prompt.
- Numbers in other countries - search and buy in any country we serve, not only the United States. Because the rules differ by country, the picker tells you BEFORE you choose: whether that country requires a registered address or an identity document, and whether its numbers can carry texts as well as calls. A country that can receive texts but not send them says so, rather than letting you discover it at send time.
- Find any call - the call log filters your whole history rather than the most recent page: by which of your numbers was used, who the other party was (number or name), by Today, this week, 30, 60 or 90 days or a custom range, by outcome (connected, no answer, went to voicemail, cancelled, failed), by direction, and by how long the call lasted. Filters live in the address, so a filtered view can be bookmarked or sent to a colleague. Every row carries actions: redial on the same number it originally used, send a message, add a note, or assign a follow-up.
- Call flow has its own tab - the call-flow (IVR) builder sits under Setup on the Phone page as its own Call flow tab, as well as under Settings ▸ Call flow (both doors open the same editor). Build what happens to an incoming call step by step - greetings, a key-press menu, opening-hours routing, ring groups (teams that ring together or in turn) and routing by who is calling - and point your numbers at it. Until you build one, every call simply rings your phones and then takes a message.
- System check has its own tab - the panel that tells you whether calls, texts, voicemail, recording and transcription are all working now sits under Setup rather than below the activity feed, so the one screen that explains a fault is not the hardest one to reach.
- A call task takes you to the person - when a next action is filed from a call, the task now opens with a button to the matched lead, client or contact record, where the whole history lives, and every link in a task description is clickable. The assignee is brought to the thing, not handed an address to retype.
- The dialer has its own tab, and stays on - the Dialer tab holds the softphone and the keypad, so the Activity list gets the full width for your call history. The softphone is on by default and comes back on every time you open the app: turning it off quiets it for that tab only, never permanently, because a business phone that stops taking calls over something you clicked yesterday is not a phone.
- Filters that look like filters - the call history filters are chips you click, each showing its current value and carrying its own clear. Every call row shows its actions inline - redial, send a message, add a note, assign a follow-up - rather than hiding them behind a menu.
- Filter Activity by what it was - the Activity feed mixes calls, texts and voicemail, and a Kind chip now narrows it to any one of them: All activity, Calls, Messages or Voicemail. It searches your WHOLE history of all three, not just the rows on screen, and the count under the chips is the number of matches across everything, so a page of forty can never look like the whole story. The chip sits in the address with the others, so a filtered feed can be bookmarked or sent to a colleague. Two of the chips only make sense for a phone call, and the feed says so instead of quietly dropping things: an Outcome (connected, no answer, went to voicemail, cancelled, failed) can only describe a call, and a Length can only describe recorded audio, so while either is set the feed tells you which kinds it has left out - and if you pick Messages, those two chips grey out with the reason rather than pretending to work. You are only offered the kinds your workspace actually has: no Messages chip without texting, no Voicemail chip without the phone system.
- Search inside your messages - the Messages tab has a search box that looks at the TEXT of every message you have ever sent or received, not just the phone numbers in the conversation list. Type at least three characters and each result shows the conversation, the date, and the matching sentence with your words highlighted inside it, so you can tell at a glance which one you wanted. It matches part-words and part-references too, so "2231" finds "INV-2231-A". Click a result and the conversation opens at that exact message, ringed and scrolled into view, even if it was months ago and long past the messages already on screen. The count above the results is every match across all your conversations, so "25 shown" never has to be mistaken for "25 exist".
- The activity log reads two ways - Feed or Table, switched at the top right and remembered for your browser. Feed is the glance: who, what channel, how long, when. Table is the log: which of your numbers it came in on, who placed it, what it cost, whether anyone has looked at it yet, the recording, the AI notes, what the text actually said, the channel, and the carrier’s own reference for when you need to raise a ticket. Choose your own columns, sort them, group by kind, and export the lot to CSV.
- The System check keeps a record now. Anything failing becomes an incident: it says how long it has been going on and how many times it has been seen, an owner or admin can say "I am on it", quiet it for a day, or mark it resolved with a note saying what they actually did, and it closes itself if the check goes green - recorded as "stopped happening" rather than as "somebody fixed it", because those are different things. Every step is kept, so History on any row tells you who took it on, who resolved it, when, and what they wrote. If the same thing breaks again after being resolved, the record says it came back and shows you what was claimed last time, which is usually the fastest way to see that a fix did not hold.
- Row actions are always on screen - Redial, Send a message, Add a note and Assign a follow-up sit on every row of the call log and the activity feed at rest, in a quiet grey that brightens as you move over the row. They used to appear only when you hovered a row, which meant nobody found them unless they already knew they were there.
- It stays connected - the softphone holds one connection to the carrier and only one. If the connection drops (a laptop lid, a train tunnel, a login that expired overnight) it tells you it is reconnecting and does it, backing off if the network is genuinely down, and the Reconnect button always works even if a previous attempt never got an answer. If you open WorkBOS in a second tab, the newest tab asks before taking the phone rather than both tabs fighting over it.
- A dialer that behaves like a phone - the softphone sits inside the Phone page as a column while you are there and detaches into a floating dock the moment you navigate away, so a call survives moving around the workspace without a card hovering over the page you came to read. The same dock now appears for either product, a colleague call in Team Chat as well as a call to a telephone, and a colleague call needs no phone number to use it. Outbound calls now show Calling, then Ringing, with a ringback tone, and only start the clock when the other end actually answers. When a call cannot connect the reason is spoken aloud as well as shown, the way a phone network does - and choosing the Silent ringtone silences that too.
- Decide whether the dialer follows you around - open the softphone’s Settings and turn "Float over other pages" off, and the dialer stops appearing on every screen; it waits for you on Phone, Dialer instead. You stay just as reachable either way: turning it off does not disconnect anything and does not stop incoming calls. It never hides a call, either - while you are on one, or while one is coming in, the controls are on screen wherever you are, so you can always answer or hang up. Turn it back on in the same place. The choice is remembered per browser.
- The tucked-away dialer is a phone icon with a status dot - collapsed, the softphone now shows a handset with a small coloured dot instead of the word "Available". Green means you are reachable and calls will ring here, amber means do not disturb, and grey or red means it is off or has lost its connection. Hover it - or read it with a screen reader - and it says the state in words. Click it to open the dialer.
- Do not disturb - in the softphone’s Settings, Do not disturb keeps you connected and stops your browser ringing. You can still place calls; incoming ones go to your forwarding number or voicemail instead, exactly as if you had closed the tab. It takes effect within about a minute and a half, and any call that arrives before then is declined rather than ringing you. It is not the same as turning the softphone off - your connection stays up, and one click brings ringing back. Like the power switch it lasts for this browser tab only, so opening the app tomorrow finds you reachable again and a phone can never stop taking calls because of something you clicked yesterday. To switch a teammate’s line off for longer, an owner or admin sets do-not-disturb on their extension under Numbers, which also stops calls forwarding to their mobile.
- The dialer and your contacts, side by side - the Dialer tab now shows the keypad on the left and your directory on the right: search, and everyone this workspace can call - leads, clients, CRM contacts and teammates with their extensions. Click a person and their number drops into the keypad; press Call and you are dialling. Click their name instead and you open their record. On a phone or a narrow window the two stack, dialer first. There is still exactly one dialer on the page: the directory loads numbers into the softphone, it never becomes a second one.
- System check - the Phone overview carries a live health panel that tests the whole path: your numbers, whether this browser is actually reachable, whether incoming texts and calls are arriving, whether delivery reports are coming back, whether voicemail is capturing audio, whether transcription is running, and how many seconds a recording actually takes to land. When something is wrong it says why in plain language - including the reason an incoming text was refused and the reason a transcript could not be produced - so a red line there is a sentence you can send straight to support. It also separates a problem you must fix (an AI account out of credits) from one that fixes itself (a transcription retrying), because an alert that asks for action when none is needed teaches people to ignore alerts.
- Build your call flow - Settings, Call flow is where you decide what happens to an incoming call, step by step. Each step reads as a sentence in the order a caller experiences it: say a greeting, check your opening hours, ring a team, ask the caller to press a key, or take a message. Every branch names another step in plain English, so you can read the whole thing back like a paragraph instead of untangling boxes and arrows. Nothing can be saved until every path ends somewhere a message can be left - a step no caller can reach, or a menu somebody could go round forever in, is refused with the reason, next to the step that causes it.
- Several flows, and a draft you can work on safely - a workspace can keep up to 25 call flows, each named, and choose which one answers which number. A flow is either Live or a Draft. A draft is saved and editable but answers nothing, so an unfinished menu can never be what the next caller hears; only published flows can be chosen for a number. Copy a flow to get a draft of it, change the copy, publish it, then move the number across - that is the safe way to change a flow that is answering the phone. Taking a live flow back to draft is refused while a number still points at it, and the refusal names the numbers it would take down.
- The map beside the steps - the call flow is shown two ways at once. The numbered list says what each step does, in the order a caller experiences it, and is where you edit. The map next to it draws the same flow as a tree, so you can see where a call ends up and what happens to everybody else; a branch you have not pointed anywhere is drawn as "take a message", because that is what the system actually does with it. Steps no caller can reach are listed separately, marked. The map is read-only.
- Route on when they are calling, not only who - a caller rule can now match on the time of the week as well as the country, state, area code or number the call comes from. Windows are written the way you say them (Monday to Friday, 09:00 to 17:00; weekends, 10:00 to 14:00; every day, 18:00 to 08:00), a rule can hold several, and a window that ends earlier than it starts runs into the next morning. The clock is your workspace's own - the business-hours timezone if you set one, otherwise the workspace timezone - so a rule behaves the same whoever is looking at it. This is a rule inside a flow, so it can sit beside your other rules and be checked in the order you choose; the business-hours step is still there for the simple open-or-shut case.
- Countries and states are picked, not typed - the rule list now offers the countries and states the system can actually work out from a caller's number, so a mistyped code can no longer sit in a live flow matching nothing. Area codes and exact numbers are still typed, one at a time, and every value shows as a chip you can remove.
- Ask the caller to press a key - a menu step plays your message ("press 1 for sales, press 2 for support") and sends each key wherever you choose. You also set where a caller goes if they press nothing, and if they press a key you have not offered, so nobody is left listening to silence. This listens for KEY PRESSES only. Routing on what a caller says out loud is not built: it needs speech recognition, and a menu that mishears "sales" as "service" sends a customer to the wrong department while appearing to work, which is worse than not offering it at all.
- Ring a team, not just one phone - a team (Settings, Call flow) rings several people for the same call. You choose four things: whether everybody rings at once or one after another; how many seconds each person gets when they ring in turn; how many seconds the whole team rings before the caller goes to voicemail; and WHICH voicemail box catches it. That last one is chosen, never inherited, so a message for Sales lands in the Sales box rather than wherever the number happens to point. Members can be teammates - rung on the numbers saved against their extension, so the team stays right when somebody changes phone - or outside numbers such as an answering service. The screen tells you how many phones would actually ring right now: somebody on do not disturb, or with no follow-me number saved, is in the team and will not ring, and that is worth knowing before a customer finds out.
- Nobody answering is a decision, not an accident - when a team or a forward is not picked up, the call goes wherever you pointed it, and if you pointed it nowhere it goes to voicemail. The same holds for every failure: a number that cannot be reached, a greeting that will not play, a menu that cannot be heard. A caller can always leave a message; they are never left on a line that has simply gone quiet. If the caller hangs up while your team is still ringing, every phone stops immediately rather than ringing on for somebody who has already gone.
- Route on who is calling - a caller-criteria step sends calls different ways depending on the number calling you: a country, a state or region, one area code or a list of them, one specific number, or whether the caller is already someone in your CRM as against somebody you have never spoken to. Rules are checked top to bottom, the first match wins, and you always say where everyone else goes. Where a caller is calling from is worked out on our servers from their number, so it cannot be faked by anything sent to us. Toll-free callers are matched by country only - a freephone number has no geography, and inventing one would route somebody confidently wrong.
- Follow-me rings all of them - the numbers on an extension ring in the order you listed them, not just the first. Your browser rings first when the dialer is open, then each number in turn, then voicemail.
- Ask the caller to key in a number - a call flow step that asks for something like a zip code or an account number and sends the call on depending on the answer. Choose how many digits to collect (the caller can finish early with the hash key), what the answer is called (postcode, account), and rules checked top to bottom: the answer starts with something (100 for every zip code beginning 100), is exactly something, or falls in a range (10001-10299). Any other answer goes to the step you choose, and so does a caller who keys in nothing, unless you give them their own route. What the caller keyed in is saved on the call so whoever picks up can see it. It listens for keys only, not for words spoken out loud. The carrier never tells us where a caller is, so asking is how every phone system routes on a zip code.
- Who goes first - a team that rings one after another can start in three ways: in the order listed (the first person always goes first), taking turns (each call starts with the person after whoever answered the last one), or whoever has waited longest (each call starts with the person who has gone longest without answering one). Set it in the team's editor under Who goes first. It only appears for one-after-another teams, because when everybody rings at once nobody goes first. Nobody is ever rung twice for the same call, even if the order changes while it is ringing.
- My phones - on the Dialer tab, everybody with an extension can set where their own calls ring: up to five numbers (your mobile, a desk phone) that ring in turn after your browser, in the order you put them, and a Do not disturb switch that sends your calls straight to voicemail, team calls included. You can only change your own. A number the workspace owns is refused, because a call to it would ring straight back into itself. If you have no extension yet, an owner or admin gives you one under Numbers; a read-only role can see the settings but not change them.
- Voicemail - every workspace gets a Main voicemail box; add personal or team boxes, set who gets an email copy, and read transcripts right in the list. Mark messages heard or delete them (admins). A call flow step or a team can name a specific box, and the message lands there with that box's own greeting played to the caller. The voicemail list has a Lead column showing which lead a voicemail belongs to.
- One bill for everything - Settings, Billing has two tabs. Plan is what you signed up for: tier, seats, payment. Usage and bill is what you have actually consumed this month across every module - the plan itself is paid through your subscription and never appears on it - itemised by charge with the quantity, the rate and the amount. A month that has closed says so, and its figures stop moving. If a supplier sends us a cost for a month that has already closed we never bill it again, and the difference is shown rather than quietly absorbed.
- Billing - the Billing tab shows what this month has cost so far, itemised: number rental, inbound and outbound minutes, texts sent and received, and transcription, each with the quantity, the rate and the amount. Numbers are listed separately so you can see which of them you are paying for. Past months stay readable from the month picker rather than disappearing on the first. Rental is charged for the whole month and is never split by the day in either direction, which is how the carrier bills us: buy a number on the 30th and that month is charged, release one and the month already charged for stays charged.
- Spending controls - two ceilings, because they answer different questions. A monthly SPEND limit covers everything on the bill and refuses outbound calls to telephones and texts once it is reached; a number rental budget caps the total monthly rental of the numbers you hold and is checked when you buy one. Both are blank by default, meaning no limit, and both live under Settings, Limits. You are warned at 80, 90 and 100 percent of the spend limit, and phone spend also appears on Cost limits beside email, SMS and AI agents.
- Test it - admins can simulate an inbound call to prove routing and voicemail capture end to end before any carrier is connected.
- Play, download or share a voicemail - open any voicemail to hear it in the browser, download a copy, or copy a link to send to a colleague. The link is time-limited on purpose: a voicemail is a customer's recorded voice, so a forwarded link stops working rather than living forever.
- Voicemail transcripts - BUILT, AND NOT YET PROVEN IN PRODUCTION: the pipeline described here has not produced a transcript from a real call yet, so treat everything in this paragraph as how it is designed to work rather than as something you should count on this week. When transcription is switched on and the platform AI account has credit, a message left on your number is transcribed once its audio is stored, so you can read a voicemail instead of listening to it and search across them like any other text. Transcription follows each mailbox's own setting, so a box with it switched off stays untranscribed. When a transcript is missing the list tells you which kind of missing it is: "Transcribing..." while it runs, "Retrying..." after a temporary hiccup, or the actual reason when it is blocked - most often that your AI account has run out of credits, which you can fix yourself in a minute. A temporary failure comes back on its own with a widening delay; a permanent one (no credits, a rejected key) stops after the first attempt rather than retrying an unfixable problem on a schedule.
- How fast a message arrives - the moment a caller hangs up, the recording is pulled into your workspace and queued for transcription immediately, not on a timer. Copying the audio takes a couple of seconds, and System check reports the average and worst time measured over the last week, so "this is fast" is something you can verify rather than something we claim. Scheduled sweeps still run behind that as a safety net, so a message can be late but cannot be lost.
- Voicemail follow-through - each box can email copies (with the transcript) to up to five addresses, the box owner gets an in-app notification, callers are matched to your CRM (clients, contacts, leads) by phone number, and voicemail.received / call.missed events can trigger your automations.
- Greetings in your own voice - record a greeting straight from the browser (hold Record and talk, up to two minutes) or upload an audio file you already have, and callers hear you instead of a synthesised voice. Recordings are private to your workspace and are handed to the carrier as a short-lived link, never a public one. The written greeting stays as a fallback, so if a recording ever cannot be played the caller hears the text rather than silence.
- Greetings - owners and admins open the Voicemail greetings card to write what callers hear before the beep (up to 600 characters). Leave it empty and the standard greeting is used. Editing a greeting changes only the greeting: the box name, owner and email copies are left alone.
- Call log - every call through your numbers is listed with direction, outcome and duration, searchable and exportable like any other list, with a Play button on calls that were recorded and each caller labelled with the matching client, contact or lead. The list is a page: it shows the 50 most recent of your total, with Load more for the last 200.
- Settings in six groups - Phone, Settings lists six groups on the left (a drop-down on a phone): Numbers, People and teams, What callers hear, Recording and privacy, Billing and limits, and My phone. Each group is one page with a card of rows. A row names the setting, says in one line how it is set now, and has one button (Change, Edit, Manage or Open) that opens the editor for it right there or takes you to the page that owns it. Rarely used settings, such as holidays, mailbox greetings, the AI receptionist, how long recordings are kept and your own carrier, are under Advanced on their page. Each group has its own address (?tab=settings&sub=billing), and every older link such as ?tab=settings&sub=hours still opens the right row. A small marker shows when something wants a look: carrier setup unfinished, hours switched off, no spend limit, nobody with an extension, no greeting written, no mailbox, or a ringtone set to silent. Call flows stay on their own tab.
- Business hours - tell the system when you are open, in your own timezone, with holidays or half days that override the weekly pattern. Outside your hours a caller is not put through to anybody: they go straight to voicemail and hear the closed-hours message you wrote instead of the standard one. A window that ends before it starts (10pm to 2am) is a night shift, not a mistake. Hours are off until you turn them on, and a schedule the server cannot read is treated as open, never as closed. Takes effect on calls to your numbers, so it needs your carrier connection to be live.
- Greetings library - write the messages callers hear once, name them, choose a voice and a language, and reuse them. Today a greeting is used as your closed-hours message; the call-flow builder will let you place them anywhere in a flow. Up to 50 per workspace, 600 characters each.
- Call recording - off by default. When you turn it on, callers are told the call is being recorded before it starts (the server will not let you have recording on with the announcement off), a private copy of the audio is kept in your workspace instead of being linked from the carrier, and that copy is deleted after the number of days you choose. Needs your carrier connection to be live.
Security: prices are computed on the server from the platform rate card - never from the browser. Purchasing is human-initiated only, rate-limited, and gated by a platform kill switch plus per-workspace caps. All phone data is organization-scoped and staff-gated.
Recordings are private. A recording is never handed out as a permanent link: the audio sits in a private store only your workspace can reach, and playing it mints a signed link that stops working after two minutes. Guests in your client portal cannot reach recordings at all, exports carry no link, and when a recording passes your retention window the copy we hold is deleted, not just hidden.
Permissions: the Phone page's create / edit / delete switches (Settings ▸ Users ▸ Roles) govern the phone writes - numbers, extensions, voicemail boxes, greetings, voicemail status, spending limits and the inbound-call simulator. Because a workspace has one number inventory, adding or releasing a number from Communication ▸ Calls is governed by the same Phone switches, so revoke it in one place and it holds everywhere.