One phone device for the whole browser session, shared by every surface that can start or receive a call — a contact row, a pipeline card, the conversation composer, the call queue. It rings for inbound calls to your line, dials out on the business caller ID, and degrades honestly when the browser blocks the microphone or the account has no telephony.
Also called: softphone · call from my computer · browser calling · dialer · make calls in the CRM
Calls placed and answered inside the product, logged against the customer
The phone is part of the software instead of a handset the business cannot see. Every call becomes a record — who, when, how long, whether it was recorded, and why it was missed — and the customer's history is on screen at the moment they pick up. A call taken on a personal cell leaves the business nothing but somebody's memory of it.
Mute reads its state back off the live call, and Hang up always ends it
Mute does not trust what the screen thinks — it asks the connection whether you are actually muted and shows that answer. Hang up disconnects the call and the device and cannot throw an error, and a short ‘ended’ state makes it visible when the other end drops. Believing you were muted when you were not is the kind of thing you only need to happen once.
A ringing call can be answered from any screen, and Silence is not hanging up on them
The incoming call arrives on its own layer above everything else, naming the caller when we know them, whatever you had open and wherever the phone was parked. Silence stops the ringing on your screen while the caller rings on through to voicemail — because Decline sends a rejection down the line, and plenty of people can tell they were cut off by a builder they were trying to give money to.
Press 2 for the parts department without reaching for your own phone
The keypad dials any number, and while you are on a call the same keys send touch tones, so supplier menus and inspection lines work from inside the product. Type a number that belongs to somebody saved and their name appears under it. The caller ID the customer will see is printed at the foot, so there is no guessing which number is presenting.
The phone sits over your work rather than being a page you go to
Drag it anywhere and it stays where you put it; it shrinks to a bar while a call is live and to a single puck when it is not, and it can be dropped into the sidebar to become an ordinary menu row instead. On a phone screen there is no puck at all — the header icon is the whole thing. A full-page dialer makes you leave the estimate the call is about.
Or have it ring your own handset and bridge the customer to you
An outbound call can ring your cell first and connect the customer when you answer — your phone's audio, Bluetooth through the truck, and it still works on bad service at a site. There is no press-1 screening, because a keypress is four interactions with a glove on. The customer still sees the business number rather than your personal one, and the call is still recorded against them, so a return call comes back where the team can see it.
- 1A short-lived Twilio access token is minted per user from /api/comms/voice-token, org-scoped as org__user
- 2The token refreshes before it expires so a long shift never drops the phone
- 3The device registers once; inbound calls raise an interrupt banner, outbound calls run through the TwiML app
- 4If the token endpoint is unconfigured or the mic is blocked, ready stays false and error explains why
- 5Accounts whose texting runs through GoHighLevel get no device at all
When the call happens inside somebody else's dialer, the customer's file is not on screen at the moment they pick up, the outcome gets typed in later if at all, and the recording lives somewhere the builder cannot reach. The bar was set by what builders actually complain about in other dialers: no mute or speaker until the other person answers, no sound when they hang up, a mute button that does not mute, and calls that cannot be ended because of an error. Calls are placed and answered inside the platform, with the customer's record on screen and the call written to their history.
- Calls invisible to the business because they happened on a personal handset
- Dialer bugs that lose calls or lie about mute state
- No customer context at the moment of connection
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →