Portals, compared fairly
A Customer Portal on Your Own Domain (and When ServiceTitan's Own Portal Is the Smarter Buy)
Plenty of the calls an office answers are customers asking for something the office already knows: the invoice total, the date of the last tune-up, whether Tuesday is still on. A customer portal hands them the answer. The real question is whose front door it sits behind.
October 26, 2026 · 10 min read
The short answer
ServiceTitan's Customer Portal lets customers view outstanding invoices and service history, request appointments and, with Online Payments and ServiceTitan Payments, pay online. A branded portal on your own website can read the same kinds of records through ServiceTitan's API, but the API has no endpoint for customers to pay, so payment still runs through ServiceTitan.
On this page
- The phone call a portal exists to prevent
- What ServiceTitan's Customer Portal does out of the box
- What a portal on your own site can add, and what it cannot
- When the built-in portal is enough, and when your own earns its cost
- Security: with a two-legged API, your website is the bouncer
- How we build a branded portal, from the first meeting to launch
- Price, timing and the cheapest first step
The phone call a portal exists to prevent
It is 4:40 on a Thursday. A homeowner calls to ask whether she paid the invoice from the water softener install. The office manager finds the job, finds the invoice, reads the balance aloud, promises to email a copy, and goes looking for the PDF. Four minutes. The next caller wants to know when the spring tune-up is due. Then someone wants the warranty paperwork from 2024.
None of these are hard questions. Every answer already sits in ServiceTitan. The only thing standing between the customer and the answer is a person with a headset, and that person was hired to book jobs, not to read records out loud. A portal moves the routine questions to a screen the customer can open at midnight, and gives the office its afternoon back.
There are two ways to provide one. ServiceTitan has its own Customer Portal. Or a portal can live on your own website, with your name on the door, reading from ServiceTitan through its API. Both are legitimate. They suit different companies, and the difference comes down to payments, branding and how much you want to maintain. The other connections a site can make are mapped on the ServiceTitan integration hub.
What ServiceTitan's Customer Portal does out of the box
Be fair to the built-in option first, because for many contractors it is the right answer. ServiceTitan's help center describes the Customer Portal as "a web portal where your customers can view their outstanding invoices, service history, and request appointments," with online payments as an option. Here is what that means in practice, as of October 2026.
- It needs Online Payments switched on, and ServiceTitan Payments for credit cards.
- Invoice and statement emails can carry a payment link, each one unique to a single invoice, so the bill and the way to pay it arrive together.
- Partial payments are allowed, down to a minimum of $1, which helps on larger jobs and financing balances.
- ServiceTitan suggests you "Embed a link to your customer portal on your website," which is the cheapest integration in this whole section: a button in the header and a line on the contact page.
- There is nothing to host or patch. ServiceTitan runs it, and it reads from the records your office already keeps.
If your customers mostly want to pay a bill and check a date, link the portal prominently and stop there. Then check where that link lives today. On plenty of contractor sites it sits in the footer, next to the privacy policy, where no customer has ever looked on purpose.
What a portal on your own site can add, and what it cannot
A branded portal is a set of pages on your domain, in your design, that sign the customer in and then fetch their records from ServiceTitan on the server. The API covers a lot of ground. It also has hard edges, and an honest plan starts with those.
| ServiceTitan Customer Portal | Branded portal on your site | |
|---|---|---|
| Outstanding invoices | Yes | Read through the accounting API (GET /invoices) |
| Service history | Yes | Read past and open jobs through the job planning API (GET /jobs) |
| Request an appointment | Yes | Sends a booking that lands on ServiceTitan's Calls screen for the office to book |
| Pay online | Yes, with Online Payments and ServiceTitan Payments | No API endpoint for customer payments; the portal hands off to ServiceTitan's payment link or portal |
| Membership and included visits | Not listed in ServiceTitan's portal overview | Read through the memberships API (GET /memberships, GET /recurring-services) |
| Estimates | Not listed in the overview | Readable through the estimates API; ServiceTitan says estimates "cannot be created or booked directly from an external website" |
| Look and address | ServiceTitan's portal, linked from your site | Your domain, your design, your navigation |
| Who maintains it | ServiceTitan | You, through whoever built it |

Two rows deserve a second look. Payments first: the branded portal can show the balance, but the money moves through ServiceTitan, so the Pay button sends the customer to ServiceTitan's Customer Portal, or to the payment link already in the invoice email. That means the branded portal works best alongside ServiceTitan's online payments, not instead of them. Second, rescheduling: the API does have PATCH /appointments/{id}/reschedule, but letting customers move appointments without a dispatcher is a business decision before it is a technical one. Most offices prefer a reschedule request they can approve, which keeps the board honest.
When the built-in portal is enough, and when your own earns its cost
ServiceTitan's portal is the better buy when
- Customers mainly pay invoices and check dates
- You already run ServiceTitan Payments and Online Payments
- Nobody on staff wants to own another piece of software
- Your website is a brochure and will stay that way for now
- The budget is better spent on online booking or ads
A branded portal earns its cost when
- Memberships are a big part of revenue and members ask about their visits
- You want the portal to sell: renewals, upgrades, the next service
- You run several brands or trades and want one front door for all of them
- Your site is already a custom build with sign-in, or about to be
- You want portal visits measured alongside the rest of your attribution
The membership case is the strongest. A member who can sign in and see two tune-ups done, one discount applied and the next visit due is a member who renews. Our memberships guide covers selling the plan in the first place, and a portal is where the renewal gets easy.
Security: with a two-legged API, your website is the bouncer
Here is the detail that changes how a branded portal must be built. ServiceTitan's API supports only the OAuth 2.0 client credentials grant, which ServiceTitan calls "two-legged OAuth." The API sees your application, not the homeowner. It will hand your app any customer's invoices if your app asks. So the website, not ServiceTitan, decides who is allowed to see what, and it has to get that right every single time.
- Credentials stay on the server. The client ID, client secret, access token and the
ST-App-Keyheader never reach the browser. A portal that calls ServiceTitan from the visitor's browser is a portal that publishes its keys. - Prove the customer, then fetch. Sign-in sends a one-time code to the email or mobile number already on the customer's ServiceTitan record, and the session is tied to that one customer.
- Never trust an ID from the browser. The server looks up records for the signed-in customer only; changing a number in the address bar returns nothing.
- Ask for the narrowest scopes. Apps are registered with Read and/or Write scopes, and the contractor's admin reviews them before allowing the app. A portal that only displays needs only Read.
- Cache tokens and data. Access tokens expire after 15 minutes with no refresh token, and the rate limit is 600 calls per 10 seconds per application per tenant. A busy Monday should not hit either wall.
- Log access in plain words. Who signed in, what they viewed, what failed, kept where a person can read it.
How we build a branded portal, from the first meeting to launch
- 1
Decide what customers see
Invoices, visit history, membership status, the plan's included visits. Each screen is agreed with the office, field by field, before any code.
- 2
Connect the app in the contractor's account
API access depends on the contractor's ServiceTitan package. The contractor's admin opens API Application Access, reviews the requested scopes and chooses Allow.
- 3
Build sign-in against the ServiceTitan record
One-time codes to the contact details ServiceTitan already holds, so the portal never invents a second customer list to keep in sync.
- 4
Build the read screens
Server-side requests for the signed-in customer only, cached within the rate limit, with clear wording when ServiceTitan is slow.
- 5
Hand off payments and requests
Pay buttons lead to ServiceTitan's Customer Portal, where online payments live. Appointment and reschedule requests arrive as bookings for the office, queued and retried if a send fails.
- 6
Test on a copy of real data
A ServiceTitan customer's integration environment contains a copy of its production data. Testing there means real edge cases without touching real accounts.
- 7
Launch and watch
Failed sign-ins, slow pages and send errors are watched from day one; Argus in Athena keeps an eye on broken pages and failing forms.
The pattern is not theoretical. For HomeService WebApp, a contractor command center on our work page, DataCram redesigned a tool whose API layer "syncs jobs and estimates bidirectionally with ServiceTitan" and pulls every open estimate, customer and overdue follow-up onto one screen. A customer portal is the same plumbing pointed at a different audience, with tighter locks.
Price, timing and the cheapest first step
Sites with a store, portal or web app start at $3,500, and custom builds without one start at a fixed $1,750, on the web design pricing page. Adding a portal to a site you already have is quoted after a free review. A single two-system connection typically takes one to three weeks per our API integrations page; a portal is several screens on top of that connection, so we scope it before giving a date.
Do this today, free
If you already have ServiceTitan's Customer Portal, put the link in your site header and on every invoice page. Most of the benefit, none of the build.
Spread the cost
Website financing is 0% with 25% down for up to 12 months. A portal is the kind of project it was made for.
Keep it maintained
A portal handles customer data, so it needs updates and monitoring. Our hosting and maintenance plans cover that with no long contract.
If the portal is part of a larger custom tool, our web app development page covers that work. Not sure where to start? A free site audit looks at what your site does today, and the launch checklist shows where a portal fits among the other connections.
Questions contractors ask about ServiceTitan integration
Yes. ServiceTitan's Customer Portal is a web portal where customers can view outstanding invoices and service history and request appointments, with optional online payments. It requires Online Payments, and ServiceTitan Payments for credit cards. ServiceTitan suggests embedding a link to the portal on your website, which takes minutes.
Yes, with ServiceTitan Payments. Invoice and statement emails can carry a payment link that is unique to each invoice, and customers can pay part of a balance, at least $1. Customers can also pay through the Customer Portal when online payments are turned on.
Yes. A portal on your own site can read invoices, jobs, memberships and recurring services through ServiceTitan's API and send appointment requests as bookings. The contractor's admin approves the app and its scopes, and access depends on the ServiceTitan package. The portal must handle customer sign-in itself, because the API authenticates the app, not the customer.
Not directly into ServiceTitan. The API lists invoices and payments for reading but has no endpoint for customers to pay online. A branded portal shows the balance and hands the customer to ServiceTitan's Customer Portal or the invoice's emailed payment link, so the payment lands in ServiceTitan without anyone retyping it.
It is as secure as its build. ServiceTitan's API uses two-legged OAuth, so the website must prove who each customer is and fetch only that customer's records. Credentials stay on the server, scopes stay as narrow as the job allows, tokens are cached, and access is logged. A portal that calls ServiceTitan from the browser exposes its keys.
Sites with a portal or web app start at $3,500 as part of a custom build. Adding a portal to an existing site is quoted after a free review, because it depends on which screens you want and how your ServiceTitan account is set up. Financing is available at 0% with 25% down for up to 12 months.
Keep reading
- Club plans, sold properlyMaintenance Agreements Sold Online: How Far a Website Gets Before ServiceTitan Takes OverWhat a website can sell, what ServiceTitan's memberships API supports, and where the office finishes the sale. Plus pricing pages that sell renewals.
- Custom site, server-side linkIf a Visitor Can Read Your API Secret, So Can Everyone: Custom Next.js Sites That Book Into ServiceTitan From the ServerA custom Next.js site that sends bookings to ServiceTitan from its own server: credentials hidden, click IDs kept, pages fast. How it works, limits, prices.
- The developer programBefore Any Website Touches the ServiceTitan API, Someone in Your Office Clicks AllowHow the ServiceTitan API works for contractors: access and approval, the data families a website touches, no webhooks yet, and what a custom build takes.
- Online bookingThe Customer Picked Thursday at 10. Does the Dispatch Board Know?ServiceTitan's Scheduling Pro or a custom booking flow on your own site: how each installs, tracks and shows availability, and when each one wins.
- Web formsThe Lead Nobody Has to Retype: Website Forms That Arrive in ServiceTitan WholeSend estimate, callback, contact and emergency forms to ServiceTitan as bookings with the source attached. Field map, spam filtering, retries, prices.
- Google Ads and ServiceTitanWhy Google Ads Keeps Buying Phone Taps, and How ServiceTitan Revenue Changes Its MindSend booked jobs and invoice revenue from ServiceTitan back to Google Ads: the exact conversion actions, click IDs, enhanced conversions and setup steps.
- Everything in ServiceTitan IntegrationSee the section
Give customers answers without a phone call
Tell us what customers call to ask. We will tell you whether ServiceTitan's portal covers it or a branded portal is worth building, with a price.
Which of these sounds like you? (pick any)
Rather talk now? Call (210) 346-0848.