Choose what needs connecting.
A customer fills out your form. Someone copies the details into a calendar, prepares a quote, then retypes the same customer into accounting. Integration connects those steps so information can move with the work.
You rarely need every tool on this page. First check what your existing software already does. Then choose the smallest useful connection, define who owns each record, and agree on the exceptions a person should handle.
Native integration: start with a supported connection built into your tools. Automation platform: use Make, Zapier, or n8n for a focused handoff. Custom API integration: build when the workflow, data, or customer experience needs something more specific.
These are integration options and implementation considerations, not a claim that every connector is prebuilt or available on every plan. Provider access, pricing, and supported operations are checked during project scoping. The examples below are illustrative.
01 / QuickBooks Online · Customer, invoice, and payment sync
QuickBooks Online: customers, invoices, and payments
Useful when an office manager or owner retypes completed jobs into accounting. A defined handoff can keep operations and bookkeeping aligned.
A completed irrigation job becomes an approved invoice; payment status returns to the owner dashboard.
How the connection works
Connect through OAuth, retain external customer and transaction IDs, and map approved line items and accounts. Process verified change notifications through a queue, with periodic reconciliation against the accounting system.
Implementation details
- Account connection
- Associate each OAuth connection with the correct company ID. Store credentials on the server, handle token renewal, and show the owner when reconnection is required.
- Record mapping
- Keep a mapping between your job/customer IDs and accounting IDs. Decide how products, discounts, deposits, and tax codes map before creating the first invoice.
- Recovery
- Queue incoming changes and reconcile missed updates. Test an edited invoice, a partial payment, and a refunded deposit with the bookkeeper before launch.
What to watch for
QuickBooks Online, Desktop, and Quicken are different integration targets. Decide which system issues invoices before connecting anything. Payment processor fees, refunds, tax treatment, and deposits need an agreed mapping with the bookkeeper; a paid invoice is not the same thing as a reconciled bank deposit.
Subscriptions & usage costs
Budget for the appropriate QuickBooks subscription plus any connector subscription. The U.S. pricing page lists Simple Start at $38/month before its introductory discount; more users and features require higher plans. Payroll and payment processing are separate considerations. Confirm API and feature access for the selected plan.
02 / Stripe · Square · Hosted payments
Stripe & Square: deposits and payments
Useful when customers need an easy way to pay a consultation fee, project deposit, final balance, or maintenance subscription.
A customer pays a project deposit through hosted checkout. A verified payment event updates the project and prepares the accounting handoff.
How the connection works
Keep card entry with the payment provider. Connect provider customer and invoice IDs to internal records; validate notifications, deduplicate events, and use idempotency keys where supported for repeatable writes.
Implementation details
- Payment state
- Use the provider’s hosted checkout and retain payment, customer, and invoice IDs. Keep “payment pending,” “paid,” and “refunded” as distinct states.
- Webhook handling
- Verify signatures against the unmodified request body. Save accepted events before processing, deduplicate deliveries, and retrieve current payment state when events arrive out of order.
- Accounting handoff
- Record the gross payment, fees, and refund separately. A payout can combine multiple transactions; matching a payout is different from marking one invoice paid.
What to watch for
A successful browser redirect is not proof of payment. Events may repeat or arrive out of order; verify current payment state. Refunds, failed renewals, and cancellations need their own paths. Recurring billing does not automatically schedule the promised maintenance visits.
Subscriptions & usage costs
Stripe’s standard U.S. domestic-card rate is 2.9% + 30¢ per successful transaction: a $500 payment costs $14.80 at that rate. International cards, currency conversion, and products such as Billing can add fees. Square rates depend on payment method and plan. Compare the business’s actual mix of online, in-person, and bank payments.
03 / PayPal Checkout · Venmo business payments
PayPal & Venmo: payment links and website checkout
Useful for small businesses whose customers already pay with PayPal or Venmo. The setup can be a simple payment link or a checkout that updates the job and invoice automatically.
A cleaner sends a customer a link to pay for a completed visit. With an integrated PayPal checkout, the confirmed payment is matched to the visit and recorded against the invoice.
How the connection works
Choose between a hosted payment link, a Venmo business profile, and PayPal checkout with eligible Venmo support. For custom checkout, create and capture orders on the server, retain provider IDs, and process verified payment notifications.
Implementation details
- Choose the right setup
- A payment link or business-profile QR code may be enough for a solo operator. Use a supported checkout integration when payment status needs to update a specific job automatically; a profile link alone does not establish that connection.
- Confirm the payment
- Keep the amount and invoice association on the server. Verify webhook authenticity, deduplicate events, and confirm the capture status before marking the invoice paid. Store order and capture IDs for later refunds and reconciliation.
- Match the records
- Link each payment to an internal job or invoice ID. Record gross amount, processing fees, and net receipts separately; prevent an existing accounting connector and custom code from recording the same payment twice.
What to watch for
A Venmo business-profile payment is not the same integration or fee schedule as Pay with Venmo through PayPal checkout. A customer returning to the website or approving an order is not proof of completed payment. Check account, market, and device eligibility, and handle pending payments, refunds, and disputes.
Subscriptions & usage costs
Checked October 18, 2026: standard U.S. PayPal Checkout and Pay with Venmo domestic USD payments are listed at 3.49% + $0.49. Direct payments to a Venmo business profile have a separate standard rate of 1.9% + $0.10; Tap to Pay differs. International payments, currency conversion, transfers, and optional products can add fees. Confirm the exact payment product before comparing costs.
04 / Zelle · Eligible business bank accounts · Reconciliation
Zelle: bank payments and invoice matching
Useful for very small businesses that already receive payments through their bank and want clearer instructions and better records without replacing the payment method.
A plumber includes the verified business payment details and invoice number on an invoice. The office confirms the incoming payment in the bank account, then records it against the job.
How the connection works
Check that the bank supports Zelle for the specific business account. Add accurate payment instructions and a requested invoice reference, then define how receipts will be confirmed and matched. Assess supported bank feeds or exports separately before promising automation.
Implementation details
- Bank eligibility
- Confirm business-account eligibility, recipient details, payment limits, and fees with the bank. Consumer Zelle availability does not establish support for the business account.
- Confirmation workflow
- Keep “customer reports paid” separate from “payment verified.” Start with owner confirmation in the banking app if no supported connection provides reliable payment data. Never request banking passwords in a customer-facing form.
- Reconciliation
- If the bank or accounting software provides a supported feed or export, check its timing and available reference fields. Match amount, date, sender, and invoice reference; send ambiguous or partial payments to a person instead of guessing.
What to watch for
Do not promise a universal Zelle checkout API or instant payment webhook. Available connections depend on the financial institution and account. A customer screenshot or “I paid” button should leave the invoice awaiting verification. Zelle and ACH payment processing are different services, even though both can move money between bank accounts.
Subscriptions & usage costs
Checked October 18, 2026: business eligibility, fees, and transaction limits depend on the bank or credit union. Do not assume consumer no-fee terms apply to a business account. Bank-account charges, accounting subscriptions, and any reconciliation service are separate costs; manual confirmation also takes staff time.
05 / Google Calendar · Square Bookings API
Google Calendar & Square Appointments: booking and availability
Useful for consultations, service visits, and appointment-based businesses where a generic contact form creates too much scheduling back-and-forth.
An Albuquerque homeowner selects a site visit with the right crew, service duration, and travel buffer.
How the connection works
Read free/busy information or booking availability, apply business rules, and create the event or booking with its external ID. Recheck availability when committing and coordinate concurrent requests in the application.
Implementation details
- Availability model
- Treat service duration, assigned technician, location, and travel buffers as separate inputs. Square booking flows also use customer, location, team-member, and service-variation records.
- Concurrent bookings
- Recheck the slot at submission. Coordinate writes in the application and handle conflicts explicitly; reading free/busy information does not reserve a slot.
- Calendar sync
- For a local calendar mirror, store Google’s sync token after completing pagination. An invalid token returning HTTP 410 requires a fresh full sync. Keep recurring-event exceptions and cancellations in the model.
What to watch for
A free calendar slot does not guarantee the right technician, equipment, or travel time. Use named time zones such as America/Denver rather than a fixed UTC offset. Square booking permissions, seller settings, and plan capabilities need checking. Booking and charging are separate operations; define what happens if one succeeds and the other fails.
Subscriptions & usage costs
Google documents standard Calendar API use at no additional charge, with quota-related charging changes planned for later in 2026; recheck before launch. Workspace subscriptions are separate. Square seller-level booking writes require a paid Appointments subscription and appropriate permissions. Payment processing is additional.
06 / Jobber · CRM · Requests, jobs, and scheduling
Jobber: website intake and field-service records
Useful when a home-service business already runs its day in Jobber and needs a more tailored website intake or customer experience.
A replacement-system inquiry gathers photos and project details, then enters the team’s existing Jobber workflow.
How the connection works
Use Jobber’s GraphQL API and OAuth scopes to connect the supported records. Store Jobber IDs and select the authoritative system for job status and scheduling. Assess native integrations before adding a custom sync.
Implementation details
- API design
- Use scoped OAuth access and GraphQL queries that request only the fields needed. Confirm the available mutations against a real account before promising a workflow.
- Sync boundaries
- Keep Jobber as the scheduling authority when the team already dispatches there. Link website submissions to Jobber record IDs and define what happens when the office edits or merges a customer.
- Throughput
- Account for GraphQL query-cost limits, pagination, and retries. A bulk import needs checkpoints so an interrupted run can resume without recreating clients or jobs.
What to watch for
API access does not imply every UI action is available. Confirm supported fields and mutations during scoping. Jobber currently requires approval for custom integrations connecting more than five accounts. An existing QuickBooks connector and a new custom accounting sync must not both create the same invoice.
Subscriptions & usage costs
Jobber is a recurring subscription; the needed plan depends on users, features, and integrations. Check native connector availability before paying for a separate automation platform. Add-ons and payment processing can add to the total; use the renewal price rather than a temporary promotion when budgeting.
07 / Twilio Voice and SMS · CallRail attribution
Twilio & CallRail: calls, messages, and follow-up
Useful when an owner is on a job and cannot immediately respond, or when the business wants to understand which campaigns generate inquiries.
A missed call creates a follow-up task. Where the customer’s consent and messaging setup support it, a text offers a booking link.
How the connection works
Use call-status callbacks to identify outcomes, attach source information from CallRail to the lead, and track SMS delivery and incoming replies. Connect replies to a person who can take over.
Implementation details
- Event identity
- Store the provider call/message ID and verify callbacks. Repeated callbacks should update the same record rather than generate several office tasks.
- Routing
- Define the difference between no answer, voicemail, and completed follow-up. Incoming texts need an assigned inbox or staff member—not just an automated outbound message.
- Consent and delivery
- Maintain opt-out state and delivery failures separately from the customer’s phone number. Limit retries and avoid sending a second reminder after the customer has already responded.
What to watch for
A call is not blanket permission for promotional texts. U.S. business messaging over local 10-digit numbers requires the applicable A2P registration; registration does not replace consent. Suppress opted-out contacts, deduplicate call events, and distinguish voicemail from a useful conversation. Attribution can be incomplete.
Subscriptions & usage costs
Twilio costs can include rented numbers, inbound/outbound message segments, voice minutes, carrier fees, and registration fees. A long SMS may bill as multiple segments. CallRail adds a subscription with included allowances and possible overages. Estimate from call minutes and message volume, not just customer count.
08 / PandaDoc · Dropbox Sign
PandaDoc & Dropbox Sign: proposals and signatures
Useful for detailed scopes, optional services, phased projects, and work that should not start until the customer has accepted the terms.
A landscaping proposal presents a plant palette, scope, price, and milestones. Confirmed completion starts the agreed deposit workflow.
How the connection works
Populate an approved template from structured quote data, identify the required recipients, and track provider document IDs. Verify webhook messages and confirm document status before triggering downstream actions.
Implementation details
- Document creation
- Map approved quote data into a versioned template. Track the document ID and generation status; do not assume a create request immediately produces a sendable PDF.
- Completion rules
- Specify all required recipients and signing order. A single signature or document-open event should not trigger the same action as fully completed signing.
- Records
- Retain the final agreed document and audit information according to the business’s retention needs. Scope changes should create a new approval trail instead of silently replacing the signed version.
What to watch for
A document being viewed or one recipient signing is not necessarily full completion. Creation and final-PDF availability can be asynchronous. Edits after signing need versioned handling. API plans and production access differ from ordinary subscriptions; Dropbox Sign test-mode requests are explicitly non-binding.
Subscriptions & usage costs
Check API pricing separately from ordinary document-editor seats. Production access, embedded signing, document volume, and signature-request allowances can change the required package. Free test mode is useful for development but does not replace a production subscription.
09 / Resend · Postmark · Transactional email
Resend & Postmark: confirmations and notifications
Useful for inquiry receipts, booking confirmations, quote links, and invoice notifications generated by a custom website or application.
A customer receives an appointment confirmation; a delivery failure creates an office task rather than disappearing unnoticed.
How the connection works
Verify the sending domain, configure the provider’s DNS records and a considered DMARC policy, and send with server-side credentials. Link delivery and bounce notifications to the customer and original action.
Implementation details
- Sender configuration
- Use a verified business domain, provider-required DNS records, and a deliberate Reply-To address. Keep production and development credentials separate.
- Delivery tracking
- Store the returned message ID and link delivery/bounce events to the original inquiry or appointment. “Accepted by the API” and “delivered” are different statuses.
- Retry behavior
- Make the sending action repeatable without duplicate confirmations. Track suppressions and give staff a way to follow up when an address cannot receive mail.
What to watch for
An accepted API call does not mean an email reached the inbox. Handle bounces and complaints, and keep operational messages separate from marketing. Do not expose email API keys in the website or include unnecessary private details in logs.
Subscriptions & usage costs
Resend lists a free transactional tier of 3,000 emails/month with a 100/day limit, and Pro at $20/month for 50,000 emails, with overages. Postmark offers volume-based plans. Check daily limits as well as monthly totals; newsletter volume may be priced separately.
11 / Google Maps · Places · Address intake
Google Maps & Places: addresses and service areas
Useful when crews serve defined areas and incomplete addresses delay estimates or create unnecessary travel.
A customer selects an address and the form checks whether the requested service is offered in that area before asking for more project details.
How the connection works
Use address suggestions to reduce typing, then apply your own service-area rules. Restrict browser keys appropriately, use only needed fields, and separate customer-entered data from provider-supplied content.
Implementation details
- Request scope
- Request only needed fields and apply the appropriate autocomplete session handling. Confirm the exact API version and billable operations before implementing the form.
- Service-area logic
- Run your own ZIP-code, polygon, or distance rules after address selection. Provide a manual path for rural addresses and places the autocomplete cannot resolve.
- Key protection
- Restrict browser keys by website and API. Keep server credentials separate, set quotas, and monitor usage; billing alerts alone are not a hard spending cap.
What to watch for
Autocomplete is not proof of deliverability or an exact property boundary. Imagery is not a measured lot survey. Google Places has attribution and storage restrictions; a place ID exemption is not permission to retain every returned field. Confirm usage costs and key restrictions.
Subscriptions & usage costs
Google Maps Platform bills by SKU and usage, with different free allowances and volume tiers. Autocomplete, place details, maps, and routes can be separate billable operations. A website with light traffic may fit allowances, but estimate each step rather than assuming the whole form is free.
12 / Google Sheets API · Materials and reporting
Google Sheets: materials lists and reporting
Useful when a team already maintains a materials list or planning sheet and replacing it would create more friction than value.
Approved plant quantities feed a project materials sheet, while a dashboard reads the latest approved costs.
How the connection works
Give each record a stable ID, define editable columns, and batch reads and writes. Start with one-way updates; add two-way changes only with explicit ownership and conflict rules.
Implementation details
- Stable records
- Store an explicit record ID in the sheet. Row positions are presentation details and change when someone sorts, inserts, or deletes rows.
- Write rules
- Reserve integration-managed columns and preserve formulas. Batch changes and define how a human edit wins or loses when the same value changes in another system.
- Recovery
- Keep a last-success checkpoint and retry quota failures with backoff. Test renamed tabs, deleted rows, and removed sharing permissions before relying on the sheet.
What to watch for
Row numbers change when people sort or insert rows. Two-way sync can overwrite human edits or create loops. Preserve formulas, handle API quotas with backoff, and never treat a publicly shared spreadsheet as a private customer database.
Subscriptions & usage costs
Google documents standard Sheets API use at no additional charge, with quota-related charging changes planned for later in 2026. A paid Workspace account, connector, or hosting service may still be needed. API access does not eliminate the cost of maintaining the sync.
13 / Make · Zapier · n8n · Webhooks and HTTP
Make, Zapier & n8n: automated handoffs
Useful for understandable, repeatable handoffs that do not justify a custom application: form to contact, accepted quote to task, or payment to notification.
A new inquiry creates a customer record and an owner task, with a visible alert if either step fails.
How the connection works
Prefer an existing connector when its triggers and actions fit. Use authenticated HTTP or webhook steps for gaps, with filters, retries, and a record of what has already been processed.
Implementation details
- Execution design
- Draw the trigger, filters, actions, and error paths before building. Check that the connector supports the exact operation and fields, not just the product name.
- Retry boundaries
- Persist a business-level operation ID. If creating a customer succeeds but creating a job fails, rerunning the flow should resume at the failed step.
- Operations
- Give someone ownership of failure alerts and expired connections. For self-hosted n8n, include patching, encrypted credentials, backups, and restore testing in the work.
What to watch for
A connector’s existence does not guarantee the field or action you need. Polling can introduce delay, and task volume affects cost. Keep complex billing rules and sensitive permissions in a well-tested system. Self-hosting adds patching, backups, and monitoring responsibilities.
Subscriptions & usage costs
Compare Make credits, Zapier tasks, and n8n workflow executions rather than comparing headline prices alone. One customer inquiry can trigger several billable actions. Premium connectors, team features, and overages may require paid plans. Self-hosting replaces some subscription costs with infrastructure and maintenance costs.
14 / Anthropic API · Intake summaries · Document and photo assistance
Claude: inquiry summaries and draft replies
Useful when an owner repeatedly reads long inquiries, extracts details from attachments, or writes similar first replies.
A homeowner’s answers and equipment photo become a concise intake summary with missing details flagged for the estimator.
How the connection works
Provide only the relevant information, request a defined response structure, validate the output, and preserve the original inquiry. Keep model calls on the server and route uncertain results to human review.
Implementation details
- Output contract
- Define the fields the application expects, validate the response, and preserve the original inquiry. Missing information should be marked unknown rather than invented.
- Action boundaries
- Treat attached documents and customer messages as untrusted input. Summarizing an inquiry should not grant the model permission to change prices, send emails, or modify customer records.
- Evaluation
- Test representative inquiries, ambiguous photos, and incomplete information. Keep a human review path and a non-AI fallback for provider failures.
What to watch for
Photos and generated text can be misinterpreted. Do not infer equipment safety, invent measurements, or set final prices from a model response. Customer-supplied text is data, not instructions to the system. Agree on what customer information may be sent to the provider and retain only what is needed.
Subscriptions & usage costs
The API is metered by model and input/output tokens; images, long documents, caching, and tools can affect the bill. A Claude chat subscription is not an API budget. Estimate cost per inquiry with real examples, then set usage limits and monitoring.
15 / Supabase Auth and Storage · Custom applications
Customer portals: project status and documents
Useful when customers repeatedly ask for project status, appointment details, photos, or the latest approved scope.
A homeowner signs in to see their project phases and documents, while the owner controls which updates are visible.
How the connection works
Use authenticated access, private file storage, and authorization tied to the customer’s project. For a Supabase-backed portal, enforce access in database and storage policies as well as the UI.
Implementation details
- Access model
- Define customer, staff, and administrator permissions before building screens. Every project and file access needs a server-enforced authorization decision.
- Private files
- Use private storage and appropriately short-lived signed links when needed. File naming and hidden navigation do not replace permission checks.
- Lifecycle
- Plan invitations, account recovery, removed staff access, exports, and retention. Test with two separate customer accounts to ensure one cannot retrieve the other’s records.
What to watch for
A hidden page or unguessable link is not authorization. Test access between different customers, protect privileged server credentials, and give sensitive download links appropriate lifetimes. Define how changes are approved and how long records are retained.
Subscriptions & usage costs
A custom portal has hosting, database, file-storage, email, and maintenance costs. Supabase Pro starts at $25/month; additional projects, compute, storage, and bandwidth can add charges. Budget domain renewal and backups separately where the selected services do not include them.
16 / Google Business Profile · Review links
Google Business Profile: review requests
Useful after completed work when customers want a straightforward way to share their experience.
The completion workflow prepares a neutral thank-you message with the real business’s review link.
How the connection works
Use the business’s own review link and choose a sensible trigger after completed service. Keep the request separate from resolving an outstanding complaint or payment issue.
Implementation details
- Simple connection
- For a basic review request, use the business’s own review link. A full API integration is unnecessary just to send someone to the review form.
- Trigger and history
- Send after the agreed completion event and record that the request was sent. Avoid repeat requests when the same job status is synchronized more than once.
- Separation
- Keep review requests neutral and independent of discounts or dispute resolution. Do not use a satisfaction score to selectively invite only happy customers.
What to watch for
Do not create profiles or solicit real reviews for fictional demo businesses. Avoid incentives, selective requests only to happy customers, or promises of better rankings. A review link does not require building a custom Google Business Profile API integration.
Subscriptions & usage costs
Google Business Profile is available at no charge. Sending review requests may still use a paid email/SMS service or reputation-management product. Paid advertising is a separate product and is not required to create a profile.
Budgeting for the whole setup
What you pay for.
A useful estimate separates the implementation work from the services you keep paying for. Existing subscriptions may cover part of the setup.
- Setup and development
- Workflow design, account configuration, data cleanup, integration code, testing, and staff handover. I scope this around the agreed project.
- Product subscriptions
- The business tools, required plan upgrades, user seats, and any connector or automation subscription. You should own these accounts.
- Usage charges
- Payment fees, messages, email volume, API requests, AI usage, and storage. Estimate a normal month and a busy month, and agree on spending controls.
- Hosting and maintenance
- Application hosting, domains, backups, monitoring, provider API changes, and support. Define who handles a failed sync or expired connection.
Pricing notes were checked October 17–18, 2026. Dollar examples are U.S. dollars and exclude taxes. Plans, promotions, billing terms, and API eligibility can change; linked provider pricing controls. These are product costs, not a quote for my development services.
Product names and logos identify the services discussed; they do not indicate a partnership or endorsement.
The part behind the button
Reliability and maintenance.
A workflow that succeeds once is a starting point. The implementation should also handle a lost connection, repeated notification, or customer who changes their mind.
- Clear ownership. One designated authority for each field, with external record IDs instead of repeated name matching.
- Authenticated events. Validate provider signatures or the documented authentication method before accepting notifications.
- Safe retries. Persist accepted events, deduplicate repeated deliveries, and retry failed steps without creating another invoice or message.
- Visible failures. Alert the responsible person, show the last successful sync, and provide a deliberate recovery path.
- Appropriate access. Keep secrets on the server, limit permissions, and design for disconnected accounts and token renewal.
- Real scenario checks. Test cancellations, partial payments, refunds, reschedules, and consent changes—not just the happy path.
- Client ownership. Document accounts, subscriptions, mappings, export options, and who maintains each part.
Illustrative workflows · Not live demos
Two businesses.
Different connections.
A local HVAC service company
Detailed inquiry → Jobber request → site visit → owner-approved estimate → signature → Stripe payment → QuickBooks update. Twilio and transactional email handle the agreed confirmations and follow-ups. A maintenance subscription also needs a separate service-scheduling process.
A landscape design-build business
Project photos → reviewed intake summary → Square consultation booking and payment → PandaDoc proposal → deposit and milestone invoices → customer portal updates. A materials sheet remains useful, while newsletter signup stays optional.
Neither workflow requires all products from day one. Confirm plan access and test-account behavior before committing to a demo or production build; where a provider cannot safely simulate an action, show it as a labeled simulation.
Common questions.
Can you connect tools without replacing my website?
Often. An embedded form, booking link, or server-side connection may be enough. We first check what your current site and software can support.
Does “integration” mean everything syncs both ways?
No. A connection may support only certain records, fields, events, or directions. One-way sync is often simpler and safer when the business has a clear source of truth.
Will AI set prices or contact customers automatically?
Only the actions explicitly agreed in the workflow should run automatically. A useful starting point is summaries and drafts, with owner review for prices, commitments, and customer messages.
What should I bring to a first conversation?
A list of your tools and subscription plans, a sample inquiry or quote with private details removed, and one repetitive task you want to improve. We can use that to scope a useful first connection.
Tell me what starts the process, where the information should end up, and what you do manually today.
Talk through your integration ↗