Integrations

Integrations

Connect Cartoply to the tools you already use — calendars, payment providers, Jobber, and Zapier.

Integrations live in two places, matching who they belong to:

  • Connections — in your personal workspace sidebar. Your calendar accounts (Google, Outlook) and Zapier. Available to every user, including invited members.
  • Integrations — in each organization's workspace sidebar (admins only). That org's Jobber connection and the Stripe/PayPal payment setup.

Switch between your personal workspace and an org workspace with the workspace switcher at the top of the sidebar.

The Connections page in the personal workspace showing connected Google and Outlook calendars with a sub-calendar picker, and the Zapier embed below
Connections — your personal calendars and Zapier, available to every user

Google Calendar

When Google Calendar is connected, every confirmed booking automatically creates an event on your Google Calendar. Cancellations remove the event and reschedules move it.

To connect:

  1. Go to Connections in your personal workspace sidebar.
  2. In the Connected calendars section, click Connect next to Google Calendar.
  3. Sign in with your Google account and grant Cartoply calendar access.
  4. You'll be redirected back to the Connections page with a confirmation.

To disconnect, click Disconnect next to the connected account. Future bookings will no longer sync, but existing calendar events are not affected.

Choosing which calendars to check for availability

Google accounts often have multiple calendars — a primary calendar, shared team calendars, or personal side calendars. By default, Cartoply checks only your primary calendar when determining your free/busy times.

After connecting Google Calendar, a Checking X of Y calendars row appears beneath the connected account. Click it to expand a list of all your calendars with checkboxes. Check any calendar you want Cartoply to treat as busy — for example, a shared company holidays calendar or a personal appointments calendar.

Your selection saves automatically. Any time a slot is blocked on one of your checked calendars, Cartoply will not offer it to prospects.

Outlook Calendar

Outlook Calendar works the same way as Google Calendar — new bookings create calendar events and cancellations remove them.

To connect:

  1. Go to Connections in your personal workspace sidebar.
  2. In the Connected calendars section, click Connect next to Outlook Calendar.
  3. Sign in with your Microsoft account and grant calendar access.
  4. You'll be redirected back to the Connections page with a confirmation message.

You can connect one Google and one Outlook account simultaneously — both will receive new booking events.

Stripe

Stripe is the recommended payment provider for Cartoply. It supports cards, Apple Pay, and Google Pay, and funds are deposited directly into your Stripe account.

To connect Stripe:

  1. Open your organization's workspace (workspace switcher at the top of the sidebar), then go to Integrations.
  2. In the Payments section, click Connect next to Stripe.
  3. You'll be taken to Stripe to create or connect an existing Stripe account.
  4. Complete the Stripe onboarding and you'll be redirected back to Cartoply.

Payment accounts are connected as you, not as the organization: bookings on a paid event type deposit to the account of the admin who created that event type. If two admins each create paid event types, each needs their own provider connected.

Once connected, any priced event type collects payment via Stripe: the guest's card is authorized first, the slot is secured, and only then is the card charged — so a guest who loses a race for the last slot is never charged. Prices can only be set on org event types, and a priced event type can't also require manual approval. You can view payouts and transaction history directly in your Stripe Dashboard.

To disconnect Stripe, click Disconnect in the Payments section. Priced event types become unbookable while no provider is connected — guests see a "payment required" error rather than booking for free. Clear the price or connect another provider before disconnecting.

PayPal

PayPal integration uses your PayPal developer credentials to accept PayPal balance and linked card payments.

To connect PayPal:

  1. Log in to the PayPal Developer Dashboard.
  2. Create or find your app and copy the Client ID and Secret.
  3. In Cartoply, open your org workspace → Integrations → the PayPal card in the Payments section.
  4. Paste your Client ID and Secret and click Save PayPal settings.

Use your PayPal sandbox credentials first to test the checkout flow before switching to live credentials.

Using Stripe and PayPal together

You can have both Stripe and PayPal connected simultaneously. When both are active, prospects see a payment page where they can choose between card payment (via Stripe) or PayPal.

Refunds

Refunds are always for the full amount and go back through the provider the guest paid with (Stripe or PayPal). The guest gets a "Refund issued" email; depending on their bank, the money can take a few business days to appear.

  • You cancel a paid booking — the guest is refunded automatically as part of the cancellation. No extra steps.
  • The guest cancels — the booking's payment badge changes to Refund due on your Bookings page and the cancellation email tells you the amount. You decide: click Refund to return the payment, or Deny to keep it. Denying asks for a brief reason (e.g. "cancelled inside the 24-hour window"), which is emailed to the guest so the decision never goes unexplained. A denied refund can still be refunded later — the Refund anyway button stays available if you change your mind.
  • Goodwill or no-show refunds — the Refund button is available on any paid booking regardless of status, so you can refund a completed visit or a no-show whenever it's the right call.

If a refund fails (for example the provider connection has an issue), the booking is marked Refund failed and you can retry from the same button. The payment status on each booking always reflects where the money actually is: Paid, Refund due, Refunded, Refund denied, or Refund failed.

The Payments tab on your Bookings page shows every booking that has money attached, with one-click filters for each status. Refunds awaiting your decision are counted in a badge on the tab so they're never missed. To find one specific payment, search the tab by the guest's name, email or address.

Jobber

Jobber is a field service management platform. Each organization has its own Jobber connection, managed from the Integrations page in that org's workspace — visible to organization admins only.

When connected, every booking on an org event type automatically triggers a full workflow in Jobber — no manual data entry required.

Because the Jobber connection belongs to an organization, only bookings on org event types sync to Jobber. Bookings on personal event types (your cartoply.com/[username] page) are never pushed to Jobber. If you want a booking to create a Jobber Request, use an org event type.

What gets created in Jobber

For each confirmed org booking, Cartoply creates the following in Jobber:

  1. Client record — Cartoply looks for an existing Jobber client first, matching on at least two of name, email, and phone. If one is found it's reused, so repeat customers don't pile up duplicates; otherwise a new client is created.
  2. Property — If the booking form collected the prospect's address, a property is created under the client with the full address (street, apartment or unit, city, state, zip, country).
  3. Request — A Jobber Request is created and linked to the client and property. The request title is the event type name, the prospect's name, and the scheduled appointment time in your local timezone.
  4. Assessment — A scheduled Assessment is created on the Request, set to the exact appointment start and end time. If the prospect left a note or answered any booking questions, those appear in the Assessment's instructions field. The Assessment is automatically assigned to the Jobber team member whose email matches the rep who received the booking.

Keeping Jobber in sync afterwards

The sync isn't one-shot — later changes flow through to Jobber too:

  • Cancelled — Cartoply posts a note explaining the cancellation on the Request, deletes the Assessment, and archives the Request.
  • Rescheduled — the Assessment moves to the new time and the Request title is rewritten to match.
  • Reassigned to a different rep — the Assessment is re-assigned to that rep's Jobber user.

Rep assignment

Cartoply matches the assigned rep to a Jobber team member by email address. If a rep's Cartoply account email matches a user in your Jobber account, the Assessment is assigned to them automatically. If no match is found, the Assessment is created unassigned and can be assigned manually in Jobber.

To ensure automatic assignment works, make sure your reps use the same email address in both Cartoply and Jobber. If you add new Jobber team members, use Refresh users on the Jobber card so Cartoply picks them up.

An organization's Integrations page showing the Field service section with a connected Jobber card, and the Payments section with Stripe and PayPal setup below a note that payment accounts are connected per admin
Org Integrations — Jobber under Field service and Stripe/PayPal under Payments, managed per organization by its admins

Connecting Jobber

  1. Open the organization's workspace, then Integrations in its sidebar.
  2. In the Field service section, click Connect Jobber.
  3. Authorize Cartoply in the Jobber OAuth screen.
  4. You'll be redirected back with a confirmation. The connected Jobber account name is shown on the card.

Zapier

Zapier connects Cartoply to 8,000+ other apps — Google Sheets, Slack, your CRM, email tools, and more — without any code. Instead of a separate integration for every tool, one Zapier connection lets you automate whatever you already use.

Cartoply provides four Zapier triggers that fire the moment something happens:

  • Booking Created — a new booking is scheduled (or a pending request is approved).
  • Booking Requested — a booking on a review-required event type is held for your approval.
  • Booking Cancelled — a booking is cancelled or a request is declined (by you or the guest).
  • Booking Rescheduled — a booking is moved to a new time.

To set it up:

  1. Go to Connections in your personal workspace sidebar and scroll to the Automation section. Zapier is embedded right there — you build the Zap without leaving Cartoply.
  2. Create a Zap and choose Cartoply as the trigger app.
  3. Connect your Cartoply account when prompted (you'll approve access on a Cartoply consent screen).
  4. Pick a trigger, choose the Bookings to receive scope (see below), choose the app to send bookings to, and turn the Zap on.

Each booking event is delivered instantly to your active Zaps. Connecting through Zapier's OAuth is per-user — you approve access on your own Cartoply account.

Choosing which bookings a Zap receives

Every Cartoply trigger has a Bookings to receive dropdown with two options:

  • My bookings (default) — only bookings you own or that are assigned to you as a rep.
  • My whole organization — every booking across the organization(s) you administer, no matter which rep it was routed to. Use this to feed all of your team's bookings into one spreadsheet, Slack channel, or CRM.

My whole organization only delivers to organization admins. If you're not an admin and select it, the Zap won't receive anything — switch it back to My bookings. If you're an admin and you're also the rep on a booking, you won't get duplicates.

Troubleshooting

  • Calendar not syncing — disconnect and reconnect your calendar from the Connections page. OAuth tokens can expire, especially if you recently changed your Google or Microsoft password.
  • Stripe onboarding didn't finish — Stripe's setup links are short-lived. If you left the flow part-way, or the Stripe card still doesn't show as connected when you come back, click Connect next to Stripe again to start with a fresh link.
  • PayPal 401 errors — double-check that you're using the correct environment (sandbox vs. live) credentials and that the app is active in the PayPal Developer Dashboard.
  • Jobber Requests not appearing — confirm the Jobber integration is still connected (status shows "Connected") and that the booking went through your org page, not a personal booking link. Only org bookings are pushed to Jobber.
  • Assessment unassigned in Jobber — Cartoply matches reps by email. Make sure the rep's email in Cartoply exactly matches their email in Jobber, then click Refresh users. If the emails differ, assign the Assessment manually in Jobber.
  • Zap not firing — make sure the Zap is turned on (turning it on is what subscribes it to your bookings) and that you connected the correct Cartoply account. If the trigger is set to My whole organization but you receive nothing, confirm you're an organization admin — that scope only delivers to admins.

Need help?

Email us at hello@cartoply.com and we'll get you sorted.