Skip to content

Appointments

Appointments handles scheduling and syncs booked meetings to your CRM. When a prospect books a meeting, graph8 automatically creates or updates the contact, syncs the meeting to your CRM, and assigns the correct owner.

Appointments vs Meetings

These two areas work together, but they are not the same feature:

FeaturePrimary Purpose
AppointmentsBooking workflow, scheduling events, and CRM sync
MeetingsReviewing calendar meetings in the Inbox with transcript and follow-up context

Use Appointments when you need to control how meetings are booked and synced. Use Meetings when you want to review what happened in the meeting and what should happen next.

How It Works

The flow:

  1. A prospect books a meeting through your scheduling page
  2. The scheduling system sends an event to graph8
  3. graph8 processes the event — creates/updates contacts and syncs to your CRM
  4. The meeting appears in your CRM with the correct contact associations

This runs automatically in the background for every booking.

Appointment Events

graph8 processes four types of scheduling events:

EventWhat Happens
Booking createdNew meeting booked — contact created/updated, meeting synced to CRM
Booking updatedMeeting details changed — CRM meeting updated
Booking canceledMeeting canceled — CRM meeting marked as canceled
Booking rescheduledMeeting moved — original marked as rescheduled, new meeting created in CRM

Reschedule Handling

Reschedules are handled differently by CRM:

  • HubSpot / Pipedrive — the original meeting is updated to “rescheduled” status and a new meeting is created
  • Salesforce — a new meeting is created (Salesforce doesn’t reliably support finding and updating the original)

Contact Creation

When a booking comes in, graph8 automatically processes the attendees:

  • Creates new contacts if they don’t exist in your database
  • Updates existing contacts with any new fields (phone number, name)
  • Processes guests from the booking response (additional attendees)
  • Skips the host — the meeting host is treated as the owner, not a contact
  • Deduplication — prevents creating duplicate contacts

CRM Sync

Meetings are synced to your connected CRM:

CRMCapabilities
HubSpotCreate meetings, update on reschedule/cancel, associate with contacts
SalesforceCreate meetings, associate with contacts
PipedriveCreate meetings, update on reschedule/cancel, associate with contacts and attendees

Each synced meeting includes:

  • Title and description
  • Start and end times
  • Location and meeting URL
  • Contact associations
  • Owner assignment
  • Booking UID for tracking reschedules and cancellations

Owner Assignment

Control how meeting owners are assigned in your CRM:

ModeBehavior
Use host as ownerThe meeting host becomes the CRM owner — no fallback if host isn’t found
Use default ownerTry the host first, fall back to a configured default owner

Configure owner assignment per CRM integration in Settings → Integrations.

Settings

Appointment settings are configured per CRM integration:

SettingWhat It Controls
Entity typeWhether to create contacts, leads, companies, or deals from bookings
Field mappingsMap booking fields to CRM fields
Owner assignment modeHow meeting owners are determined
Default ownerFallback owner when host can’t be matched

Routing Forms

A routing form is a public form that qualifies prospects before they book. Based on the answers they submit, graph8 routes them to the right calendar, the right rep, or an ineligible-lead page.

What Routing Forms Are For

  • Qualify inbound leads — ask company size, role, or budget before offering a meeting slot
  • Route to the right rep — enterprise leads to AEs, SMB leads to SDRs, support requests to CS
  • Block out-of-ICP traffic — deny meetings to prospects who fail qualification criteria
  • Collect context before the call — so reps walk into meetings prepared

Creating a Routing Form

  1. Go to Engage → Appointments → Routing Forms
  2. Click New Form
  3. Add questions (each question becomes a form field):
    • Short text — name, title
    • Email — auto-validated
    • Phone — auto-formatted with country code
    • Dropdown — single-select with predefined options
    • Multi-select — multiple choices (e.g., tools they already use)
    • Number — company size, budget tier
    • Long text — free-form context
  4. Mark required questions with Required
  5. Click Routing Rules to configure how answers map to outcomes
  6. Click Publish to get a shareable URL

Routing Rules

Rules are evaluated in order. The first match wins. If no rule matches, the fallback action applies.

Rule Condition TypesExample
Field equalsCompany size = 1000+
Field containsRole contains "VP" or "Director"
Field in rangeBudget between 10,000 and 100,000
All ofMultiple conditions must all match
Any ofAt least one condition must match

Routing Actions

ActionBehavior
Show calendarDisplay a specific calendar (e.g., AE calendar vs. SDR calendar)
Assign repMatch the prospect to a specific user’s calendar
Round-robinDistribute across a pool of reps
Redirect URLSend prospect to an external page (pricing, resources, ineligible page)
Thank-you pageShow confirmation without offering a meeting
WebhookSend the submission to your own endpoint

Example: Enterprise vs. SMB Routing

A typical B2B setup:

  1. Ask Company size
  2. Rule 1: If Company size ≥ 500 → show AE calendar with round-robin across enterprise AEs
  3. Rule 2: If Company size 50–499 → show Mid-market calendar
  4. Rule 3: If Company size < 50 → redirect to self-serve signup page
  5. Fallback: show SDR calendar (catches unanswered cases)

Form Analytics

Each form tracks:

MetricWhat It Shows
ViewsHow many prospects opened the form
CompletionsHow many submitted
Completion rateCompletions ÷ Views
Rule breakdownHow many prospects hit each routing rule
Meeting rateOf those offered a calendar, how many booked
DisqualifiedCount of prospects blocked or redirected

Use analytics to tune qualification thresholds — if too many prospects get disqualified, loosen rules; if too many unqualified leads reach AEs, tighten them.

Embedding on Your Site

Embed a form on your site to replace a generic contact form:

  1. Open the form in the editor
  2. Click Embed
  3. Choose Inline (replaces a <div> on the page) or Popup (opens on button click)
  4. Paste the script tag into your site

Out-of-Office and Buffer Rules

Control when meetings can and can’t be booked, even after a prospect qualifies.

RuleBehavior
Business hoursOnly offer slots during the rep’s configured hours
Minimum noticeRequire N hours of lead time before a meeting can be booked
Maximum lookaheadDon’t offer slots more than N days in the future
Buffer timeAdd N minutes before/after meetings (travel, prep, debrief)
Daily capLimit bookings per rep per day
Weekly capLimit bookings per rep per week
Out-of-officeBlock dates from the calendar (manual or auto-synced from Google/Outlook)

Configure in Engage → Appointments → Availability.

Booking Confirmation Emails

When a prospect books, graph8 sends a confirmation email via SES to the prospect (and CCs the host) with:

  • Meeting title, time, and timezone-localized details
  • Conferencing link (Google Meet / Zoom / Teams / custom)
  • A .ics calendar invite as an attachment so the prospect can add the meeting to any calendar app
  • Reschedule and cancel links signed with secure tokens (no login required for the prospect)

Reschedule and cancel emails are sent automatically when the matching booking event fires.

Conferencing Providers

graph8 auto-generates conferencing links based on the host’s connected provider:

ProviderLink TypeNotes
Google Meetmeet.google.com/…Requires Google Calendar connected
Zoomzoom.us/j/…Requires Zoom OAuth connection
Microsoft Teamsteams.microsoft.com/…Requires Microsoft 365 connected
CustomAny URLUse for WebEx, Whereby, in-person meetings

The conferencing link is included in the calendar event and synced to CRM.

Next Steps