The phone, built in

Make and take real calls inside the software, with the customer's file on screen and the call written to their record.

The operating system for post-frame and barndominium builders.

Part of The Follow-Up Machine
What it is

One phone for the whole session, shared by every screen that can start a call — a contact row, a pipeline card, the reply box, the callback list. It rings when someone calls your line and dials out showing your business number. If the browser blocks the microphone, it says so instead of failing quietly. One system for the whole post-frame business — the phone is in it, not bolted on — so every call already knows whose job it is.

Also called: softphone · call from my computer · browser calling · dialer · make calls in the CRM

See it, piece by piece
01

Calls placed and answered inside the product, logged against the customer

The phone is part of the software, not 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 the moment they pick up. A call taken on a personal cell leaves the business nothing but somebody's memory of it.

Phone — Recents
Phone
RecentsContactsKeypadVoicemailQueue3
Search calls by name or number
AllInboundOutbound
Marlin Zook
↗ outbound· Aug 24 · 6:38
Call
0:00 / 6:38Recording
Curtis Hoover
↙ incoming· Aug 24· left a voicemail
Call
(717) 555-0166
↙ incoming· 9:41 AM · 2:07
Call
Rosalyn Petersheim
↗ outbound· Aug 23· no answer
Call
Recents: a direction arrow on every call, the reason a missed one was missed, and the recording playing on the call's own row. Real screen · sample data.
Without it

A price gets agreed on a call from the truck, and six weeks later the only surviving version of that conversation is one person's memory of it.

Why we built it

The recents list is built around the question that actually gets asked afterwards — not whether somebody called, but which way it went and why it never landed — so a missed call carries its reason and the recording plays on the row itself, in a list anyone in the shop can open.

02

The phone sits over your work rather than being a page you go to

Try it

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 — or drop it into the sidebar and it becomes an ordinary menu row. 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.

Contact Details
Contact Details
MZ
Marlin Zook
Contacted
$74,300.00
Queue call
Pipeline Estimate #990214
Build estimate in 3D Builder
Phone(717) 555-0118
Emailmarlin.zook@demo.invalid
Address1840 Weavertown Rd · Gap, PA · 17527
BuildingBarndominium
SourceFacebook
Lead formSpring Barndo — Lancaster
What are you looking to build?
40×64 barndominium, 14 ft sidewalls
When do you want to start?
Spring 2027
The record stays readable — the phone is a layer over your work, never a page instead of it. Real screen · sample data.
Without it

Mid-call the customer asks what the porch adds, and the estimate is sitting behind a full-page dialer you would have to navigate away from to read.

Why we built it

Where a phone belongs depends on the screen and the person holding it, so that choice is not made for you: it stays where you dragged it the next time you sign in, collapses to a puck between calls, and can be put away in the sidebar entirely. The trade-off is a floating thing that can cover something — so one dragged value is stored, the panel is derived from it, and the whole dock is clamped back on screen when the window changes size.

03

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 where 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. 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.

Incoming call
Incoming call
Curtis Hoover
(717) 555-0132
AnswerSilenceDecline
Silence stops the ringing for you — they keep ringing through to voicemail.
Answer, Silence and Decline, with the line underneath saying exactly what Silence does. Real screen · sample data.
Without it

A homeowner rings while you are three windows deep in a takeoff, the ring goes unnoticed, and by dinner they have called somebody else.

Why we built it

Two buttons would force a choice between letting it ring forever and cutting a caller off, so there are three — and the line under them explains Silence while the phone is still ringing, instead of leaving it to be learned the expensive way. The banner is drawn outside the dock entirely, because Answer that only exists while a panel happens to be open is not an Answer button.

Sound familiar?“calls happen on my cell and the CRM knows nothing about them”
04

On a call: the timer and six buttons

Once the call connects, the phone shows the call duration and six buttons: Mute (it reads its state off the live call, so it is never wrong about whether they can hear you), Speaker, Note, Script, Task and End call. Script opens your own call scripts, grouped by kind; Note and Task write against this customer without leaving the call. Open conversation jumps to their thread to text or email — and the call keeps going.

On a call — the timer and six actions
Marlin Zook · 4:12
Call duration
04:12
MuteSpeakerNoteScriptTaskEnd call
Open conversation · Text / Email
Follow-up
After the estimate went out
They have the price. Find out what is in the way.
“Did you get a chance to look at the 40×60 in 3D? Anything you’d move before we lock the price?”
Four minutes in, the follow-up script open — End call is always bottom right. Real screen · sample data.
Without it

Mid-call, the note you need to take and the script you meant to follow were somewhere else, so you did neither.

Why we built it

Everything a rep reaches for during a call is a thumb's width away, so his attention stays on the customer instead of the screen. A script he can glance at makes a nervous new rep sound like a ten-year man — and that confidence is what the customer actually buys.

05

A second call never takes over the one you're on

Another call coming in while you are talking does not touch the live one: it shows small, at the bottom — Another call waiting, who it is, and your current call is not affected. There is no Answer button, because picking up would drop the customer you are talking to and there is no hold. Send to voicemail now, or do nothing and it rolls there by itself.

A second call while you are talking
Marlin Zook · 6:48
Call duration
06:48
Another call waiting
Rosalyn Petersheim
Your current call is not affected. Do nothing and they go to voicemail.
Send to voicemail now
Rosalyn is waiting; Marlin keeps hearing you. Real screen · sample data.
Without it

A second call coming in used to grab the controls — the customer you were talking to suddenly could not hear you.

Why we built it

The person you are talking to deserves to keep hearing you; the one waiting deserves voicemail rather than a dropped line. Knowing that nothing can cut a customer off mid-sentence lets a rep relax into the call — and relaxed reps sell better.

06

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, inspection lines and county offices all work from inside the product. Type a number belonging to someone you have saved and their name appears under it. The number the customer will see is printed at the bottom, so there is no guessing which line is presenting.

Phone — Keypad
Phone
RecentsContactsKeypadVoicemailQueue3
7175550118
Marlin Zook
123456789*0#
Call

They’ll see (717) 555-0100

The matched contact name under the typed number, and 'They'll see (717) 555-0100' at the foot. Real screen · sample data.
Without it

The building department answers with a menu and the parts desk wants extension four, and neither can be reached without hanging up and redialling on your own phone.

Why we built it

Once a business runs more than one line — a sales number, a service number, an old one still lettered on the truck — the only one that matters is the one that rings back, so the presenting number sits under the Call button where it cannot be missed. It is normalised to a full country-code number before it ever reaches the carrier, because a line saved as ten bare digits is rejected at dial time rather than at the moment somebody typed it.

Sound familiar?“I can't call a customer without leaving the system”
07

Call, text and email leave from the same box

Call sits beside SMS and Email above the reply box, on the same customer — because ringing somebody back is the third way to reach them, not a different piece of software. Text and email leave from that same box, and it is written up on the one conversation.

Conversation — compose
Subject...
Hi Marlin — revised quote attached with the 16' sidewalls. Everything else is unchanged.
SMSEmail CallSnippets Send
Send Now
Send Later
Schedule for a time
Call beside SMS and Email, on the customer you are already reading. Real screen · sample data.
Without it

You finish reading a two-week thread, decide to ring him, and lose the thought hunting for his number in a dialer that opened on somebody else.

Why we built it

Reading a thread and listening to a recording is exactly when a person decides to ring back, and the old answer was to leave, open the dialer and re-find the man you were already looking at. When Call is greyed out it says which reason — this contact has no number, or the browser phone has not registered yet — because a dead button with no explanation gets reported as broken software.

08

Call from the card you were already looking at

The Call button on a new lead card on the board stages the number and dials it. The stage moves when the call actually connects — stamped by the carrier, not by somebody clicking a button that says they tried.

Lead card
Emma Carter$385,000.00
Barndo$385kFacebook ad
0/6
Confirm
CallTextEmail
Sep 15 · 9:12 AMDaniel Hayes1d 3h 22m
Call, on the lead card — the same dial path the card modal uses. Real screen · sample data.
Without it

The board says nine leads were contacted this week, and four of those are somebody tidying cards on a Friday afternoon.

Why we built it

Marking contact by hand records the calls people remembered to log, which is never the same set as the calls that happened. Where a builder has no in-app phone at all, the manual log stays and dragging still works — nothing on our side can observe a call made on a personal handset, and pretending otherwise would be worse than admitting it.

09

A number nobody saved gets a name before you forget who it was

The phone searches your own contacts by name or by digits and dials from the row. Ring a number that is not in the book and it asks who that was — a name and the number, nothing else. The rest of the file gets filled in later by whoever has the time.

Contacts
Import 3 dups
AllUnread (3)SMSEMAILRecentA–Z
MZ
Marlin Zook12m
Sounds good — I'll be out at the site Thursday morning.
$74,300.002
DB
Danielle Beiler3h
Your 40×64 post-frame quote
$68,120.00
CH
Curtis Hoover1d
Voicemail from (717) 555-0132 - 0:24
1
RP
Rosalyn Petersheim2d
Can we move the overhead door to the gable end?
$92,450.00
WF
Wendell Fisher6d
Equipment Storage
Your own contact book — the same names the phone searches, by name or by number. Real screen · sample data.
Without it

Recents is a column of ten-digit numbers, and the one that mattered — the man who wanted a 30x40 with a lean-to — is indistinguishable from the four robocalls around it.

Why we built it

The prompt is deliberately two fields. An intake form at the end of a call is the thing people cancel, and the trade-off is a thin contact — which is still worth far more a month later than a bare ten digits nobody can place.

Sound familiar?“no record of who called who”
10

You hang up and the write-up is already done

Direction, duration, which line it went out on, who took it and whether it recorded — taken off the call itself, not typed in afterwards by somebody who is already late for a site visit. When you hang up, the entry drops into the one thread on that customer's record and sits in order with the texts and the emails, voicemail included.

Conversation
MZMarlin Zook(717) 555-0118Mark read (2)
Your 40×64 post-frame quote
Marlin Zook • Aug 21, 9:14 AM(3 messages)
Opened 2×
Thanks Marcus — the number works. One question about the sidewall height before we...
Can we bump the sidewalls to 16' instead of 14? Want the lift to clear.
Aug 22, 7:48 AM
Yes — 16' adds about $4,100. I'll send the revised quote this afternoon.
Aug 22, 8:03 AM
Voicemail
📞 Voicemail from (717) 555-0118 - 0:24
0:00 / 0:24Voicemail
Transcript
Aug 24, 4:12 PM
ShowTextsEmailsShowing all
The finished call in the conversation, in order with the texts and the emails. Real screen · sample data.
Without it

Somebody else picks the job up on Monday and has to ring the customer to ask what was agreed on Friday, because nothing on the record says.

Why we built it

The sentence and the facts are kept in two different places on purpose: the thread carries what a human reads, and a separate call table carries what you can count. One row trying to be both is how a business ends up unable to answer how many calls it missed last week.

11

A call nobody answered is still a fact

Rang out, busy, went to a personal voicemail, left a message, nobody was set to ring — each is written as its own cause, not as a blank. Once a call is known missed, a later 'completed' cannot flip it back to answered.

Timeline
Timeline

Same audit history as the pipeline card — every stage move and SOP step, with who and when.

In platform
9d 3h
since Aug 17, 2026
Current stage
1d 18h
Create Estimate
To first contact
7h 36m
created → contacted
New Lead2d 4h
Aug 17, 9:02 AM → Aug 19, 1:15 PM · moved here by Marcus Feld
  • Assign an ownerAug 17, 9:04 AM
  • Make first contact — call, text, or emailAug 17, 4:38 PM
Contacted5d 2h
Aug 19, 1:15 PM → Aug 24, 3:20 PM · moved here by Marcus Feld
  • First contact attemptAug 19, 1:31 PM
  • Follow-up 1Aug 21, 8:40 AM
  • Follow-up 2not completed
  • Add to short-term nurture(optional)not completed
Create Estimate· current1d 18h
Aug 24, 3:20 PM → now · moved here by Dale Whitmore
  • Estimate draftedAug 24, 4:02 PM
  • Verify SmartBuild takeoffopen
  • Confirm markup / priceopen
  • Internal review(optional)open
The call on the timeline, carrying the reason it never landed. Real screen · sample data.
Without it

The record says the lead was contacted, so nobody rings back, and the message describing a 40x64 sits in a mailbox on a phone that man replaced last year.

Why we built it

A forwarded leg answered by somebody's carrier voicemail comes back from the carrier as completed, so the record cheerfully reported success while a lead sat in a personal mailbox nobody checks. The outcome is therefore monotonic — a definite signal is never overwritten by a late ambiguous one. Which cells and which signed-in screens get rung in the first place, how long they ring before the call gives up, and what happens when nobody picks up is all set per line on what happens when someone calls your number.

12

A recorded conversation is not a voicemail

Voicemail is calls nobody picked up — audio with no talk time against it. A recorded conversation stays on its own row in Recents, where the call is. And the audio is never a public link: it streams back through us, checked against the company that received it.

Voicemails & call recordings
Voicemails (2)1 newMessages they left
Aug 24, 4:12 PM · 0:24
0:00 / 0:24
Transcript
Aug 19, 8:41 AM · 0:11
0:11 / 0:11
Call recordings (4)Conversations
Outbound call · Aug 22, 10:05 AM · 6:38
2:14 / 6:38
Voicemail — the transcript above the player, and only calls nobody answered. Real screen · sample data.
Without it

You go looking for the message the customer left about the door header and find it buried among forty recorded conversations that were never messages at all.

Why we built it

The voicemail list originally keyed off 'has a recording', which was correct right up until answered calls started recording too — at which point every recorded conversation filed itself under Voicemail. A voicemail is defined by nobody answering, not by a file existing.

Sound familiar?“the dialer never lets me hang up”
13

The phone opens on the people you owe a call

One list, from two sources that mean the same thing standing in a driveway: calls somebody deliberately added, and missed calls nobody has rung back yet. The count rides on the puck, so the debt is visible without opening anything — and the full list is the same rows.

Phone — Queue
Phone
RecentsContactsKeypadVoicemailQueue3
Clear all (3)
Curtis Hooverurgentmissed call
Missed call · left a voicemail
Wants a price on a 30×40 lean-to before the weekend.
CallDone
Rosalyn Petersheimhigh
Follow up with Rosalyn Petersheim
CallDone
(717) 555-0166missed call
Missed call · no answer
CallDone
Queue — added calls and unreturned misses in one list, urgency on the row. Real screen · sample data.
Without it

Friday's three missed calls are still unreturned on Monday, and the only place they ever existed was a red dot somebody cleared while looking for something else.

Why we built it

A queue built only from what people remembered to write down would quietly miss the expensive half, so open missed-call episodes are merged in on their own. Where both exist for the same number the human's entry wins, because it is the one carrying a note about what the call is for.

14

The call you owe is a task, not a note inside a widget

A queued call is an ordinary task row — urgency, a note saying what it is about, a due date, the contact it belongs to. So it appears on your list with the rest of the day's work, and it can be handed to somebody else with the reason attached rather than as a bare number.

Home — My tasks
HomeEverything on your plate, and everything you’re waiting on.
+ New task
DashboardMy tasks11Assigned to others4ListCalendar
EverythingProject MgmtEstimatesInvoicingSales Pipeline
Any timeAny urgencyAny client / jobSearch tasks…Show done
Today21 overdue
Call the county about the Ridge Road permit
highin 2h · Sep 9, 2:00 PMopportunity· reminder armed
Walk the slab pour before the crew leaves
Delp equipment barn — 40×64, north bay
urgent3h overdue · Sep 9, 7:00 AM2/4project
Sales Pipeline2
Brenner — 30×40 garage shop
Follow up — Brenner hasn’t opened the estimate
mediumin 1d · Sep 10, 9:00 AMestimateauto· reminder armed
Chase open invoices
mediumin 6d · Sep 15, 8:00 AM↻ every week
The queued call on the same list as everything else that is owed today. Real screen · sample data.
Without it

The one man who took the call is off sick, and the three people covering for him have no idea anybody was promised a ring back.

Why we built it

A private list living inside a phone widget is where work goes to rot: nobody else can see it, it has no due date, and it dies with the browser tab. Making it a real task gives up a tidy separate table and buys reassignment, snoozing and shared visibility without writing any of them twice.

15

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. No press-1 screening, because a keypress is four interactions with a glove on. The customer still sees the business number, not your personal one, and the call is still recorded against them — so a call back comes home where the whole team can see it.

Settings — Notifications
Notifications
Pick which roles get notified for each event. Project-level assignees (set on each project’s detail page) always receive project notifications regardless of the role toggles here.
Account controls · two switches, applied in order
1 · Account notifications — ONsince 3/14/2026

The master power switch for this company. While it is on, everything below decides what actually goes out. Switch it off and nothing is sent on any channel to anyone — your team or your customers — and every setting is kept exactly as it is.

2 · The 36 events in the table below — ON
36 events · 21 sending email · 36 showing in the bell.
Only want to quiet your own alerts? Everything on this page applies to the whole company. Your personal notifications are under Settings → My Profile → My Notifications, and turning yours off there leaves everyone else’s exactly as they are.
Alerts sent by your build-stage automations are configured separately under Settings → Stage Automations and are not affected by either switch.
EventsEveryone (by role)
ShowAllInternalTo customersCategoriesSingleMultiple
EventAdminSalesProject ManagerCrew LeadWorkerChannels
Sales Pipeline· 10
Estimates & Orders· 4
Invoicing & Payments· 4
Contracts & Legal· 6
Project Management· 7
Project started
Someone clicked Start Project on an estimate.
In-appEmailSMS
Project stage completed
A build stage was marked complete.
In-appEmailSMS
Project completed
Final stage was marked done.
In-appEmailSMS
Weather advisory (day before)
Tomorrow's forecast may change the plan — heat, cold, wind, storms, rain or mud.
In-appEmailSMS
Crew ran past its figured days
A crew on hourly + shared surplus has worked more days than the job was figured for.
In-appEmailSMS
Shortfall needs a decision
A job finished over budget — decide whether the crew carries it or the company absorbs it.
In-appEmailSMS
Conduct report filed
Someone filed a performance, conduct, safety or attendance report about a team member.
In-appEmailSMS
Teams & Crew· 2
System & Integrations· 3
Your own mobile, kept on your settings — the handset the bridge rings first. Real screen · sample data.
Without it

Standing in a framed shell on one bar of service, with a laptop microphone that sounds like a wind tunnel, the call you needed to make simply does not get made.

Why we built it

The handset a builder already owns is better at being a phone than any browser will ever be, so this runs alongside the browser phone rather than replacing it — picked at the moment you press Call, depending on whether you are at a desk or on a roof. It needs your own mobile on file, and says so by name if it is missing. Same rule when the browser phone has not registered: the dock tells you it did not connect and offers to hand the number to this computer, instead of silently opening whatever dialer the machine has.

How it works
  1. 1Sign in and the phone is live. Nothing to install.
  2. 2Someone rings your line and it rings on your screen, wherever you are in the software.
  3. 3Dial out and the customer sees your business number, not yours.
  4. 4It stays connected all day — a long shift never drops the phone.
  5. 5Blocked microphone? It tells you what is wrong rather than pretending to dial.
  6. 6On a call: the call timer, Mute, Speaker, Note, Script, Task and End call — and Open conversation to text or email without hanging up
  7. 7A second call during a live one never takes it over: it shows small, at the bottom, and goes to voicemail
Why we built it

When the call happens in 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 at all. So the phone lives here, and the record is on screen while you talk.

The problem
  • 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
What you get
Every call is logged, attributable and optionally recorded
Customer history on screen while you talk
Mute available the instant a call object exists, and hangup that always works
A second call can never cut off the customer you are talking to
What's inside
A phone that floats over whatever you're doing

The phone is a dock, not a page. Full size gives you five tabs — Recents, Contacts, Keypad, Voicemail, Queue. Compact is the on-a-call bar. Dot is a single puck that pulses while a call is live. Drag it anywhere, drop it on the sidebar to make it a menu row, or park it top right. On a phone screen it stops floating altogether.

A ringing phone you can always answer

When the line rings, a card appears at the top of the screen: the customer's name where we know them, the number, a pulsing indicator, and three buttons. You cannot swipe it away. It clears when the call is answered, declined, or the caller gives up.

Mute and hang up that actually work

The buttons you use during a call. Mute, with the state read back from the call itself and a clear muted label. A running timer. And a hang up that always ends it, with a brief 'ended' state so you can see when the other end dropped. The buttons are there the moment a call exists — not only once somebody answers.

Keypad, and touch tones during a call

A big number box and a twelve-key pad. While a call is live, the same keys send touch tones, and the box says so. Type a number belonging to someone you have saved and their name appears. The number the customer will see is printed underneath.

Recent calls, searchable, with the reason each one was missed

Recents shows the facts, not the chat: who, when, how long, and — when it was missed — why. "It rang through to a personal voicemail." "No one was set to ring." "No answer." "Busy." A recording plays right on its row. Tap the name to jump to their estimate or their card.

Your voicemail box

Every voicemail, with what they said written out above the player. Switch between Everyone and For me. Search by name or number. Jump straight into that customer's conversation from any message.

Save the number you just called

When a number matches nobody, the phone asks one question: who is it? Type a name and you have a contact with the name and the number. Nothing else is asked. Next time they ring, you see who it is.

Told when the browser can't place the call

A plain notice above the tabs: can't call this number from the browser, here is the actual reason, and two buttons — call from this computer, or cancel. The handoff only happens if you choose it.

Dial out as your own number, all day

Every signed-in browser gets its own calling identity for your business. It is issued on the account that actually owns the number you dial out on, so your own line presents correctly. It renews itself before it expires, so the phone does not drop out mid-shift.

Ring my cell first, then connect the customer

Your own phone is the calling device. Bluetooth through the truck, lock-screen answer, works on bad rural signal. The customer still sees your business number, and the call is still written to their record. It sits alongside the browser phone rather than replacing it.

Your phone numbers, and who holds each one

One table: the number, what it is for, who holds it, how calls behave, its settings. Hand a line to a rep so each customer keeps talking to the same person and replies come back to them. A number you give up is kept, not deleted — so a reply to a message you sent last month still lands.

PHONE SYSTEM

See the phone, built in
on one of your own jobs.

Twenty minutes, your building, your numbers. Bring the job where “calls happen on my cell and the CRM knows nothing about them” — we will show you exactly where that stops.

leads2build.com
The phone, built in — Leads2Build