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:
| Feature | Primary Purpose |
|---|---|
| Appointments | Booking workflow, scheduling events, and CRM sync |
| Meetings | Reviewing 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:
- A prospect books a meeting through your scheduling page
- The scheduling system sends an event to graph8
- graph8 processes the event — creates/updates contacts and syncs to your CRM
- 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:
| Event | What Happens |
|---|---|
| Booking created | New meeting booked — contact created/updated, meeting synced to CRM |
| Booking updated | Meeting details changed — CRM meeting updated |
| Booking canceled | Meeting canceled — CRM meeting marked as canceled |
| Booking rescheduled | Meeting 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:
| CRM | Capabilities |
|---|---|
| HubSpot | Create meetings, update on reschedule/cancel, associate with contacts |
| Salesforce | Create meetings, associate with contacts |
| Pipedrive | Create 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:
| Mode | Behavior |
|---|---|
| Use host as owner | The meeting host becomes the CRM owner — no fallback if host isn’t found |
| Use default owner | Try 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:
| Setting | What It Controls |
|---|---|
| Entity type | Whether to create contacts, leads, companies, or deals from bookings |
| Field mappings | Map booking fields to CRM fields |
| Owner assignment mode | How meeting owners are determined |
| Default owner | Fallback 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
- Go to Engage → Appointments → Routing Forms
- Click New Form
- 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
- Mark required questions with Required
- Click Routing Rules to configure how answers map to outcomes
- 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 Types | Example |
|---|---|
| Field equals | Company size = 1000+ |
| Field contains | Role contains "VP" or "Director" |
| Field in range | Budget between 10,000 and 100,000 |
| All of | Multiple conditions must all match |
| Any of | At least one condition must match |
Routing Actions
| Action | Behavior |
|---|---|
| Show calendar | Display a specific calendar (e.g., AE calendar vs. SDR calendar) |
| Assign rep | Match the prospect to a specific user’s calendar |
| Round-robin | Distribute across a pool of reps |
| Redirect URL | Send prospect to an external page (pricing, resources, ineligible page) |
| Thank-you page | Show confirmation without offering a meeting |
| Webhook | Send the submission to your own endpoint |
Example: Enterprise vs. SMB Routing
A typical B2B setup:
- Ask Company size
- Rule 1: If
Company size ≥ 500→ show AE calendar with round-robin across enterprise AEs - Rule 2: If
Company size 50–499→ show Mid-market calendar - Rule 3: If
Company size < 50→ redirect to self-serve signup page - Fallback: show SDR calendar (catches unanswered cases)
Form Analytics
Each form tracks:
| Metric | What It Shows |
|---|---|
| Views | How many prospects opened the form |
| Completions | How many submitted |
| Completion rate | Completions ÷ Views |
| Rule breakdown | How many prospects hit each routing rule |
| Meeting rate | Of those offered a calendar, how many booked |
| Disqualified | Count 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:
- Open the form in the editor
- Click Embed
- Choose Inline (replaces a
<div>on the page) or Popup (opens on button click) - 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.
| Rule | Behavior |
|---|---|
| Business hours | Only offer slots during the rep’s configured hours |
| Minimum notice | Require N hours of lead time before a meeting can be booked |
| Maximum lookahead | Don’t offer slots more than N days in the future |
| Buffer time | Add N minutes before/after meetings (travel, prep, debrief) |
| Daily cap | Limit bookings per rep per day |
| Weekly cap | Limit bookings per rep per week |
| Out-of-office | Block 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
.icscalendar 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:
| Provider | Link Type | Notes |
|---|---|---|
| Google Meet | meet.google.com/… | Requires Google Calendar connected |
| Zoom | zoom.us/j/… | Requires Zoom OAuth connection |
| Microsoft Teams | teams.microsoft.com/… | Requires Microsoft 365 connected |
| Custom | Any URL | Use for WebEx, Whereby, in-person meetings |
The conferencing link is included in the calendar event and synced to CRM.
Next Steps
- Connections → — Set up your CRM integration
- Meetings → — Review meetings and transcript context in the Inbox
- Web Chat → — Let visitors book meetings from chat
- Sequencer → — Link sequences to appointment outcomes
- Forms (inbound tracking) → — Different feature: track form submissions on your existing website