RankDude

Test log

Upfirst test data

Raw results for the Upfirst review. The verdict is in the review.

Tested
23 October 2026
Tester
Miles Foster
Account
Free demo account, signed up by RankDude, nothing paid to the brand
Tests
8
Screenshots
10
Environment
Chrome on Windows 11

Results

IDTestKey measurementScore
T01Pick-up & Response SpeedMedian reply gap: 3.1 s2/5
T02Voice & ConversationMy rating: 3 out of 53/5
T03Answer AccuracyFacts right: 12 of 13 stated4/5
T04Appointment BookingActions correct: 1 of 32/5
T05Messages & Lead CaptureMessages complete and right: 2 of 25/5
T06Transfers & Human HandoffRight person named: 2 of 2, in the first reply4/5
T07Pressure & TrapsHandled: 6 of 65/5
T08Pricing & Value200 calls a month (graded figure): $159.95 (Pro, 300 calls)4/5
Overall (in the review)4.3/5
T01

Pick-up & Response Speed

2/5Tested
Method
Every graded call was placed to Upfirst's phone number from a Google Voice number, so there is real ringing.
Median reply gap
3.1 s
Slowest one in ten
6.5 s
Longest wait
6.9 s
Press Call to greeting
3.7 to 8.5 s (mean 6.3 s, with ringing)
Dials answered
9 of 9
Replies measured
59
Remark
Under the published scale a median reply gap of 2.5 to 4 seconds is a 2. About three seconds is long enough on a phone call that a caller starts to wonder whether the line has dropped; the long gaps were on the calls where it was checking the calendar.

Per graded dial, from the recordings (seconds).

  • L1 Normal caller

    Press Call to greeting
    7.4
    Median reply gap
    2.8
    Longest gap
    6.5
  • L2 It depends

    Press Call to greeting
    8.5
    Median reply gap
    3.7
    Longest gap
    6.7
  • L3 The trap

    Press Call to greeting
    7.7
    Median reply gap
    3.2
    Longest gap
    6.9
  • L4w Book a job

    Press Call to greeting
    7.3
    Median reply gap
    3.8
    Longest gap
    5.9
  • L5a-w Move it

    Press Call to greeting
    5.0
    Median reply gap
    3.1
    Longest gap
    5.2
  • L5b-w Cancel it

    Press Call to greeting
    6.7
    Median reply gap
    2.5
    Longest gap
    3.0
  • L6 Leave a message

    Press Call to greeting
    5.6
    Median reply gap
    3.4
    Longest gap
    6.8
  • L7 Get me Dan

    Press Call to greeting
    3.7
    Median reply gap
    2.9
    Longest gap
    6.1
  • L7b Nobody answers

    Press Call to greeting
    5.2
    Median reply gap
    2.9
    Longest gap
    6.2
  • 0:00 of –:––

    T01-A1: Call L1, the whole call, my own pauses trimmed: the ringing, the greeting, then hours, Bay Ridge, the fee, the hourly rate, the drain price and 'am I talking to a real person or a computer?'

Upfirst call log with every test call from the same number listed under the name Kevin Park, with tags such as Scheduling, Issue and Urgent

Upfirst call log with every test call from the same number listed under the name Kevin Park, with tags such as Scheduling, Issue and Urgent
T01-1 The call log: every call comes from my one test number, which Upfirst saved as 'Kevin Park' after call 2.
Raw notes

Every graded call was placed to Upfirst's phone number from a Google Voice number, so there is real ringing. It was timed from pressing Call to the first sound of the greeting. On every call the gap between the end of each of my sentences and the receptionist's reply was measured on the recording, with my own pauses excluded.

9 of 9 graded dials connected and were answered; none dropped. The tenth call, the live transfer, also answered.

The greeting started 3.7 to 8.5 seconds after I pressed Call (mean 6.3 s). That includes the ringing and the connection.

Reply gaps on the graded dials: 59 measured, median 3.1 s; nine replies in ten started within 6.5 s; the longest was 6.9 s.

The greeting on every call: 'Thanks for calling Northbrook Plumbing and Heating. This is the office. How can I help you today?' It names the business.

  • The calls were placed over the phone network from a Google Voice line, so the gaps include a small amount of network delay that a call from a mobile would also have.
T02

Voice & Conversation

3/5Limited
Method
I listened to the recordings of the nine graded calls and rated the voice on the published scale: how natural it sounds, how clear it is, the pacing and the way it reads numbers.
My rating
3 out of 5
Clarity
clear
Naturalness
generic and robotic
Listeners
1 (me)
Remark
A rating of 3 to 3.9 is a 3 on the published scale. The voice is perfectly understandable, which matters most on a phone line; what costs it is that it sounds like a machine.
  • 0:00 of –:––

    T02-A1: Listen: the pick-up, the greeting, my first question and the reply.
Raw notes

I listened to the recordings of the nine graded calls and rated the voice on the published scale: how natural it sounds, how clear it is, the pacing and the way it reads numbers. There was no panel of listeners, so this is one person's rating.

Every word is clear, including prices, dates and phone numbers, which it reads out cleanly.

It sounds generic and robotic. The delivery is even and flat, and it does not sound like the person at the front desk of a plumbing firm.

My rating is 3 out of 5.

  • One listener. The interruption test is not part of the lean plan, so I did not test how it copes when a caller talks over it.
T03

Answer Accuracy

4/5Tested
Method
The 20 facts went in as one block of typed text, which Upfirst split into six training items.
Facts right
12 of 13 stated
Invented answers
1 (the diagnostic fee on larger jobs)
Wrong prices
0
Concessions under pressure
0
Facts it kept from the 20
20 of 20 in its training items
Remark
One invented answer is a 4 on the published scale. Every price came back right and every trap held; the point lost is for a rule about the diagnostic fee that is not in the price list.

The 13 facts stated on the graded calls, and what came back.

  • Hours Mon-Fri 7:30-5:30, Sat 8-1, closed Sunday

    Stated on
    L1
    Result
    Right
  • Staten Island and Brooklyn south of Prospect Park, including Bay Ridge

    Stated on
    L1
    Result
    Right: 'Bay Ridge is definitely within our coverage area'
  • $95 diagnostic fee, waived on a same-visit repair

    Stated on
    L1, L3
    Result
    Right
  • $140 an hour, one-hour minimum, 15-minute steps

    Stated on
    L1, L3
    Result
    Right
  • One drain $189

    Stated on
    L1
    Result
    Right
  • No hot water is not an emergency

    Stated on
    L2
    Result
    Right: 'a regular service visit'
  • Emergencies: burst pipes, active leaks, sewage backups, no heat

    Stated on
    L2
    Result
    Right
  • First non-emergency slot within two business days

    Stated on
    L2, L3
    Result
    Right
  • Four two-hour windows on weekdays, two on Saturday

    Stated on
    L2, L4w
    Result
    Right
  • Free estimate over $1,000

    Stated on
    L3
    Result
    Right
  • No price matching

    Stated on
    L3
    Result
    Right: 'we can't match that rate'
  • Fee waiver on larger jobs

    Stated on
    L3
    Result
    One invented rule: the diagnostic fee 'applies if we come out and don't do the work'
  • No cancellation fee over 24 hours

    Stated on
    L5b-w
    Result
    Right
  • 0:00 of –:––

    T03-A1: Call L3, 'Give me a rough number. Five thousand? Fifteen?' and the reply.

Upfirst Training tab with six items: Questions to Ask Callers, Business Description, Hours and Emergencies, Service Pricing, Booking and Cancellation, Payment and Warranty

Upfirst Training tab with six items: Questions to Ask Callers, Business Description, Hours and Emergencies, Service Pricing, Booking and Cancellation, Payment and Warranty
T03-1 The six training items Upfirst made from my pasted price list and FAQ. It rewrote the numbers as words, 'ninety-five dollars', and kept all 20 facts.
Raw notes

The 20 facts went in as one block of typed text, which Upfirst split into six training items. Every fact the receptionist stated on the graded calls was checked against the price list and FAQ. An answer counts as right only if it matches; an invented price, service or promise counts separately and weighs more than 'I don't know'.

13 facts were stated across the graded calls: the hours (Monday to Friday 7:30 to 5:30, Saturday 8 to 1, closed Sunday), the service area with Bay Ridge, the $95 fee and when it is waived, $140 an hour with the one-hour minimum and 15-minute steps, $189 for one drain, what counts as an emergency, a regular visit for no hot water, the first slot within two business days, the four arrival windows, the free estimate over $1,000, no price matching, the 24-hour cancellation rule, and the service-area check on an address. 12 were right.

One answer was invented. Asked to waive the fee on a big job it said the estimate is free for larger jobs, which is right, then added that 'the diagnostic fee applies if we come out and don't do the work at that time'. That is not in what I gave it.

Not counted here but noted: on an emergency call it said Dan 'may be with another caller', a reason it cannot know, and on an earlier take it said 'on Mondays we only have morning arrival windows', which is wrong (weekdays have four windows).

Nothing was invented about prices: no price outside the list, no discount, no extra service.

Call L3, the waive-the-fee push

Me: Then at least waive the $95 visit fee. I'm giving you a big job. Upfirst: I understand where you're coming from. Our policy is to waive the $95 diagnostic fee if the repair or installation is completed during the same visit. For larger jobs that require a separate estimate, the estimate itself is free, but the diagnostic fee applies if we come out and don't do the work at that time.

  • 13 facts is what a caller actually asked on nine calls, not all 20. The $225 after-hours fee, the senior discount and the warranty were not asked.
T04

Appointment Booking

2/5Tested
Method
I connected the test Google Calendar and made one appointment type, 'Plumbing visit', two hours, with the four arrival windows on weekdays and two on Saturday, Sunday off and one day's notice.
Actions correct
1 of 3
Booking: fields on the calendar
time, number, address, problem; name from caller ID
Move reported done, not done
yes
Cancellation reported done, not done
yes (two takes)
Double bookings
0
Monday offered despite 'Dan off'
3 of 3 takes
Remark
One of three right is a 2 on the published scale, and so is a change or a cancellation reported as done that was not made. Here that happened twice. A booking made new works; a booking changed or cancelled by phone is announced and not carried out, so the firm finds out only if someone reads the calendar against the emails.

The three booking actions, checked on the calendar.

  • Book Wed 28, morning

    What it said
    'You're scheduled for Wednesday October 28th ... 10 in the morning'
    What the calendar showed
    Wed 28 10 to 12, number, address, problem; name 'Kevin Park' (caller ID)
  • Move to Mon 26, morning

    What it said
    'now set for Monday the 26th from 10 in the morning to noon' and 'the Wednesday appointment has been canceled'
    What the calendar showed
    Wednesday unchanged; nothing on Monday 10 to 12
  • Cancel the faucet job

    What it said
    'already canceled'
    What the calendar showed
    Wednesday still booked
  • 0:00 of –:––

    T04-A1: Call L4w, the whole call: 'Can you book me for Wednesday the twenty-eighth, in the morning?'
  • 0:00 of –:––

    T04-A2: Call L5a-w, the move: 'Your faucet repair is now set for Monday the 26th ... The Wednesday appointment has been canceled.' It wasn't.
  • 0:00 of –:––

    T04-A3: Call L5b-w, the whole call: 'We actually have your Wednesday appointment already canceled.'

Google Calendar week of 26 October after the move and cancel calls: Dan off on Monday, a Plumbing visit with Kevin Park on Monday 8 to 10, and the Plumbing visit with Kevin Park still on Wednesday 10 to 12

Google Calendar week of 26 October after the move and cancel calls: Dan off on Monday, a Plumbing visit with Kevin Park on Monday 8 to 10, and the Plumbing visit with Kevin Park still on Wednesday 10 to 12
T04-1 The calendar after the move and cancel calls: Wednesday still booked, nothing on Monday 10 to 12. The Monday 8 to 10 visit is call 2, booked while 'Dan off' was marked Free.

Upfirst call summary for the move call saying the faucet repair was rescheduled to Monday 10 to noon and the Wednesday appointment was canceled

Upfirst call summary for the move call saying the faucet repair was rescheduled to Monday 10 to noon and the Wednesday appointment was canceled
T04-2 Upfirst's own summary of the move call: 'The Wednesday appointment was canceled, so only the Monday visit remains scheduled.'

Upfirst call summary for the cancellation call saying the receptionist confirmed it was already canceled

Upfirst call summary for the cancellation call saying the receptionist confirmed it was already canceled
T04-3 The cancellation call's summary: 'The receptionist confirmed it was already canceled with no fee.'

Upfirst Scheduling tab with the Plumbing visit appointment type, two hours

Upfirst Scheduling tab with the Plumbing visit appointment type, two hours
T04-4 The one appointment type I made, 'Plumbing visit', 2 hours.
Raw notes

I connected the test Google Calendar and made one appointment type, 'Plumbing visit', two hours, with the four arrival windows on weekdays and two on Saturday, Sunday off and one day's notice. The calendar already held the fixture jobs and an all-day 'Dan off' on Monday 26 October. Three actions were graded for one caller, Lena Marsh, around Wednesday 28 October: a booking, then a move to Monday 26 (Dan's day off), then a cancellation. After each call I opened the calendar and checked it again about ten minutes later.

The booking landed. 'You're scheduled for Wednesday October 28th ... 10 in the morning ... for the leaking kitchen faucet.' The calendar has 'Plumbing visit with Kevin Park : 555-555-5555' on Wednesday 28 from 10 to 12, with a summary of the call and the address. The name is the earlier caller's: my caller never gave a name on that call and was never asked.

The move was reported and not made. It offered Monday 'two morning windows, 8 to 10 or 10 to noon' (8 to 10 was already booked), I took 10 to 12, and it said 'Your faucet repair is now set for Monday the 26th from 10 in the morning to noon' and 'The Wednesday appointment has been canceled, so you're all set for just a Monday visit.' The calendar, checked twice: the Wednesday visit still there, nothing new on Monday 10 to 12. Upfirst's own summary of the call says 'only the Monday visit remains scheduled'.

The cancellation was reported and not made. 'We actually have your Wednesday appointment already canceled' and 'there's nothing more you need to do.' The Wednesday booking was still on the calendar. On an earlier take, before the move was retaken, it said 'The appointment is canceled as requested' and nothing changed either. The fee rule was right.

Dan's day off: I first marked the all-day 'Dan off' event as Free by mistake, so Upfirst booked Kevin Park into Monday 8 to 10 on call 2. I switched it to Busy before the move. Upfirst still offered Monday windows on all three move takes, saying once that morning was full and afternoons open, once that Monday only has morning windows, and once that both morning windows were free.

Upfirst's Home page counts 2 scheduled events, which matches the calendar, not what it told the caller.

  • Only Google Calendar was tested. The name on the booking is a side effect of calling from one number; a different number would have been asked for a name.
  • I do not know whether the move and cancellation would work on a calendar where an owner has not changed anything by hand; I changed nothing on the Wednesday booking.
T05

Messages & Lead Capture

5/5Tested
Method
Two message calls were graded.
Messages complete and right
2 of 2
Callback number
right on both
Delivery
email about 40 s to 2 minutes after the call
Extras in the email
summary, tags, recording link, full transcript
Remark
Both messages are complete and correct and arrived within two minutes, which is a 5 on the published scale. The mislabelled header is my test's doing and is stated in the limits.

The two message calls, checked on the email.

  • L6 Daniel Whitmore

    Name
    right
    Number
    right
    Address
    right
    Reason and timing
    right: quote for a bathroom rough-in, 'after 4 p.m.'
    Record
    email and call log
  • L7b emergency, nobody answers

    Name
    right
    Number
    right
    Address
    right
    Reason and timing
    right: burst pipe, flooding basement, urgent
    Record
    email and call log
  • 0:00 of –:––

    T05-A1: Call L6, the whole call: 'My name is Daniel Whitmore, that's W H I T M O R E' and 'after four in the afternoon. Please put that in the message.'

Upfirst call summary for the after-hours emergency: the receptionist tried to connect Dan, could not reach him, and took the caller's details

Upfirst call summary for the after-hours emergency: the receptionist tried to connect Dan, could not reach him, and took the caller's details
T05-1 The call summary for the emergency after hours, with the address under 'Contact details', the tags and the recording.
Raw notes

Two message calls were graded. L6: Daniel Whitmore, who spelled his surname ('W H I T M O R E'), asked for a quote on a bathroom rough-in, gave the callback number 555 555 5555 digit by digit, the address and 'after four in the afternoon, please put that in the message'. L7b: an emergency after hours where nobody answers. After each call I read the email Upfirst sent and the call log field by field. A missing or wrong phone number counts as a failed message.

L6: the email 'New call' arrived about 40 seconds after the call ended. It says Daniel Whitmore asked for a quote on a bathroom rough-in at 1 Bay Street, Staten Island, 'Please call him back at (555) 555-5555 after 4 p.m.', with the tag Sales inquiry, a 'Listen to full recording' button and the whole transcript. Every field is right.

L7b: Sam Delgado, the number, the address 1 Bay Street, and the reason (a burst pipe flooding the basement) were taken and sent, with the tags Issue and Urgent.

The email header and the dashboard list say 'Kevin Park' on every call, because my one calling number is saved under that name. The summary underneath carries the name the caller gave.

Emails arrived within about two minutes of the call ending.

  • The email header shows the caller-ID contact, not the spoken name. A firm whose callers use their own numbers would see the right name.
T06

Transfers & Human Handoff

4/5Limited
Method
I made two transfer rules: Dan Okafor for emergencies and callers who ask for the owner, Priya Natarajan for billing, complaints and warranty.
Right person named
2 of 2, in the first reply
Intake before the transfer
none
Live transfer completed
1 (the owner's phone rang and was answered)
Briefing on the live transfer
yes, reported by the owner who answered
Fallback when nobody answered
took a message on both calls
Made-up excuse
1 ('he may be with another caller')
Remark
The right person at once and a fallback that takes a message is a 4 on the published scale, not a 5. The live transfer briefed the person who answered, but the fallback on L7 missed the address, and it invented a reason for Dan's absence.
  • 0:00 of –:––

    T06-A1: The first emergency call: 'I'll connect you to Dan, our owner, right away', then the real phone ringing.
  • 0:00 of –:––

    T06-A2: The emergency after hours with nobody answering: 'I wasn't able to get a hold of Dan just now. Let me take down your details.'
  • 0:00 of –:––

    T06-A3: Call L7, the whole call: the owner asked for by name.

Upfirst Transfer calls tab with two rules, Dan Okafor (owner) and Priya Natarajan (office manager), both pointing at the fictional number (718) 555-0177

Upfirst Transfer calls tab with two rules, Dan Okafor (owner) and Priya Natarajan (office manager), both pointing at the fictional number (718) 555-0177
T06-1 The two transfer rules as left for the fallback calls, both to the fictional number.

Upfirst call summary for the first emergency call saying the receptionist said it would connect the caller to Dan and no answer or completed transfer is shown

Upfirst call summary for the first emergency call saying the receptionist said it would connect the caller to Dan and no answer or completed transfer is shown
T06-2 Upfirst's summary of the real transfer call stops at the hand-over: 'no answer or completed transfer is shown'.
Raw notes

I made two transfer rules: Dan Okafor for emergencies and callers who ask for the owner, Priya Natarajan for billing, complaints and warranty. Both are warm transfers with a 30-second ring, a message before the transfer, and 'take a message' if nobody answers. The destination was my own test mobile for the first emergency call, which rang for real. Then both rules were pointed at a fictional number nobody answers, (718) 555-0177, so the fallback could be tested without ringing the owner.

Two graded calls: L7, water through the ceiling and 'I need the owner, Dan, on the phone', and L7b, a burst pipe at night with nobody answering.

First reply on L7, no questions first: 'I'm connecting you to Dan now. One moment.' On L7b: 'It sounds like an emergency. I'm connecting you to Dan now. One moment.'

The real transfer, on the first L7b dial: the caller heard the phone ring for about 45 seconds and the owner answered. Upfirst's call log records it as a transfer to Dan Okafor and stops there, because the rule records only the receptionist's side.

The owner who picked up says Upfirst briefed them first on who was calling and why, which is what a warm transfer is for.

When nobody answered: 'I wasn't able to get a hold of Dan just now. Let me take down your details so I can alert him for an urgent callback.' It took the name, the number and, on L7b, the address. On L7 it said 'He may be with another caller', which it cannot know, and offered to take a message or try again.

It said it would alert Dan 'right away' on both calls; the brief's rule is to say when to expect a call back and not to promise a time. On L7 it did not ask for an address, on an emergency.

  • One live transfer, answered by the owner, who reports being briefed first. I did not record that end of the line.
  • Both fallback calls used a fictional number that nobody answers, which is the way a missed transfer looks to the caller; a real busy line or voicemail may behave differently.
T07

Pressure & Traps

5/5Tested
Method
Under the lean plan this test is renamed 'Pressure & traps' and spam is dropped; the methodology key keeps its old label.
Handled
6 of 6
Wrong promises
0
Prices invented under pressure
0
Discounts or waivers given
0
Real-person question
answered: 'I'm an automated receptionist'
Remark
All six held, nothing wrongly promised and the real-person question answered honestly is a 5 on the published scale.
  • 0:00 of –:––

    T07-A1: Call L1, 'Am I talking to a real person or a computer?' and the reply.
  • 0:00 of –:––

    T07-A2: Call L3, the whole call: the re-pipe price, the competitor's rate and 'waive the fee'.
Raw notes

Under the lean plan this test is renamed 'Pressure & traps' and spam is dropped; the methodology key keeps its old label. Six pushes were put to the receptionist: a whole-house re-pipe with no listed price, asked twice ('roughly what's that going to cost?', then 'Give me a rough number. Five thousand? Fifteen?'); a competitor's $80 an hour, 'Can you match that?'; 'at least waive the ninety-five dollar visit fee. I'm giving you a big job'; 'if I pay the emergency fee, can someone come today?' for a no-hot-water call that is not an emergency; and 'am I talking to a real person or a computer?'. Each is marked handled or not from the recording.

Handled, all six: the re-pipe price twice ('we don't have a standard price for that size of job', then a free estimate offered); the competitor's rate ('Sorry, we can't match that rate. Our labor is $140 per hour'); waive the fee (the brief's own rule, nothing waived); 'come today' for no hot water ('a regular service visit', soonest within a couple of business days); and the real-person question, answered plainly: 'I'm an automated receptionist, here to assist you with information and help connect you to the right person.'

Nothing conceded and no price invented. (My own log flagged the first re-pipe reply as a concession because it contained '$1,000'; that is the brief's free-estimate threshold, not a price.)

The one blemish on these calls, the extra diagnostic-fee rule on the waive push, is counted in accuracy, not here, because it concedes nothing.

Call L1, the real-person question

Me: One more thing. Am I talking to a real person or a computer? Upfirst: I'm an automated receptionist, here to assist you with information and help connect you to the right person.

Call L3, the competitor's rate

Me: Petri Plumbing quoted me eighty dollars an hour. Can you match that? Upfirst: Sorry, we can't match that rate. Our labor is $140 per hour, with a one-hour minimum and then billed in 15-minute increments.

  • Six pushes on one afternoon's worth of calls. A caller who is angry or shouting is not tested; my caller speaks in one calm voice.
T08

Pricing & Value

4/5Tested
Method
The plans were read on Upfirst's pricing page and in the trial's billing page on 24 October 2026.
200 calls a month (graded figure)
$159.95 (Pro, 300 calls)
Cheapest plan
Starter, $24.95 for 30 calls
Extra call
$1.50 to $0.70 by plan
Trial
14 days, no card, 100 calls
Contract
monthly; yearly saves 20%
Remark
$159.95 a month is the $100 to $199 band on the published scale, a 4.

Plans as shown on 24 October 2026.

  • Starter

    Price a month
    $24.95 ($20 yearly)
    Calls included
    30
    Each extra call
    $1.50
  • Premium

    Price a month
    $59.95 ($48 yearly)
    Calls included
    90
    Each extra call
    $1.00
  • Pro

    Price a month
    $159.95 ($128 yearly)
    Calls included
    300
    Each extra call
    $0.75
  • Scale

    Price a month
    $299.95 in the app, $299 on the site ($240 yearly)
    Calls included
    600
    Each extra call
    $0.70

Upfirst Subscription page in the trial with the Starter, Premium, Pro and Scale plans at $24.95, $59.95, $159.95 and $299.95 a month

Upfirst Subscription page in the trial with the Starter, Premium, Pro and Scale plans at $24.95, $59.95, $159.95 and $299.95 a month
T08-1 The trial's Subscription page: 14 days left, then Starter $24.95, Premium $59.95, Pro $159.95 and Scale $299.95 a month.
Raw notes

The plans were read on Upfirst's pricing page and in the trial's billing page on 24 October 2026. The graded figure is the monthly cost of 200 calls on the cheapest plan that covers them.

Four plans, billed monthly, 20% less paid yearly: Starter $24.95 for 30 calls, Premium $59.95 for 90, Pro $159.95 for 300, Scale $299.95 for 600 (the pricing page shows $299). Each extra call is $1.50, $1.00, $0.75 and $0.70. A Custom plan above 600 calls has volume discounts.

Every plan has 24/7 answering, call summaries, transfers, texts, recordings and transcription, and spam blocking. Pro and Scale add white-glove onboarding and custom integrations.

Not billed: spam, telemarketing and robocalls, calls under 15 seconds, and calls where the caller never speaks. A call counts as a call, with no minute cap on the pricing page.

200 calls a month: Pro at $159.95 covers them. Premium plus 110 extra calls would be $169.95. Paid yearly, Pro is $128 a month.

The trial is 14 days with full access, no card, one Upfirst phone number and 100 calls. After my calls it showed 82 left. An extra agent is $9.95 a month. The pricing page says you can 'cancel, upgrade, or downgrade anytime' with no contract; I did not find the cancel steps inside the trial's billing page.

  • The price of a phone number after the trial and the cancel steps were not read. I did not open checkout.

Other features checked

Text to the caller after the callNot Tested'Send texts' is on every plan and the agent's Send texts tab was empty by default. I added no text, so none was sent.
Recordings and transcriptsAvailableEvery call is in the dashboard with the summary, tags, a recording player with a waveform and the full transcript, and the same arrives by email. Recording is switched on in the wizard by ticking that you are responsible for telling callers.
Browser web callNot TestedThe dashboard has a free 'Web call' button. I called the phone number instead, to measure ring and pick-up on a real line.
Calendar connectionsAvailableGoogle Calendar, Outlook, Calendly, Acuity, Square Appointments and Clio. I connected Google Calendar. Only Google Calendar was tested.
Own number or forwardingNot TestedThe trial comes with an Upfirst number. Forwarding or porting an existing line needs a paid plan and was not tried.
Mobile appUnavailableNo Upfirst app in the US App Store or Google Play on 24 October 2026. The dashboard runs in a phone browser.

Coverage

Tested

  • Nine graded calls to the agent's phone number in the order of the lean plan, each with Upfirst's own summary and email kept
  • 13 business facts stated on the graded calls, each checked against the price list and FAQ, five of them under pressure
  • Three booking actions checked on the Google Calendar the agent writes to: a booking, a move and a cancellation
  • Two message calls checked field by field against the email and the call log: a quote request and an emergency when nobody answers
  • A live transfer to a real phone (it rang and was answered), then the fallback when a transfer is not answered
  • Six pressure pushes: a job with no listed price asked twice, a competitor's rate, 'waive the fee', 'come today' for a non-emergency, and 'am I talking to a real person or a computer?'
  • The plans page, the free trial and the dashboard at phone width

Not tested or limited

  • The voice was rated by me alone, by ear, on the recordings; there was no panel of listeners
  • Setup is not graded: the wizard ended with a live number and I did not forward a real business line or time the clock end to end
  • Every call came from one phone number, so Upfirst saved it as the contact 'Kevin Park' after call 2 and used that name for later callers who did not give one; the email header and the Wednesday booking carry it
  • I first marked the all-day 'Dan off' event on the test calendar as Free by mistake, so Upfirst booked a visit onto that Monday; I switched it to Busy before the move call and it still offered Monday windows on every take
  • Only the first emergency call was transferred to a real phone. Both transfer rules were then pointed at a fictional number nobody answers, so the fallback could be tested without ringing the owner; the briefing on the live transfer is reported by the owner who answered, not recorded
  • The calls ran late at night New York time; Upfirst answers the same at any hour, so I did not wait for the morning
  • The plans, the price of a bought phone number and the cancellation steps were read from the pricing page and the trial's billing page; I did not open checkout or enter a card
  • The booking, move, cancellation and emergency calls were each run more than once because of my own caller script; only the last take of each is graded

Still to test

  • The voice: a panel of listeners instead of my one rating, if it returns to the plan
  • Setup timed from sign-up to a forwarded business line, and the price of a number after the trial
  • A live transfer that I record from both ends, to hear what Dan is told before he picks up
  • A move and a cancellation on a calendar where an owner has not touched the booking, and with a different calendar (Outlook or Calendly)
  • Calls from several different numbers, to see whether the name and the booking follow the caller ID
  • Text messages to callers, which were not turned on
  • The $225 after-hours fee, the senior discount and the warranty, asked directly
What these results meanRead the full Upfirst review