Oppy Welcome Kit: Integrations & Setup

· · 17 min read
View as Markdown Open in ChatGPT Open in Claude

Integrations & Setup Guide

This guide covers connecting Oppy to your existing tools — CRM, website, marketing, Slack, and calendars.


Follow Up Boss (FUB) Integration

What It Does

  • Two-way contact sync — Contacts in FUB sync to Oppy and vice versa
  • Note sync — Notes created in either system sync to the other
  • Tag-triggered conversations — Tag a contact in FUB to have your Oppy start a conversation
  • Team roster sync — Your FUB agents, brokers, and team leads appear as tagged contacts in Oppy for internal messaging and reporting
  • Real-time updates — Changes propagate automatically via webhooks

Setting Up FUB

  1. Navigate to Integrations in your Oppy dashboard at app.oppy.pro
  2. Enter your Owner API Key from Follow Up Boss
    • In FUB, go to Admin > API in the sidebar
    • Copy the Owner API key (not a regular user key)
    • The Owner key has special permissions — there’s only one per account
  3. Click Connect
  4. All existing FUB contacts will begin syncing (initial sync may take time for large databases)

The GoGoOppy Tag System

This is how you trigger your Oppy to reach out to a FUB contact:

  1. In Follow Up Boss, add the tag gogooppy-{oppy-name} to any contact
    • Example: gogooppy-youroppy for an Oppy named your ISA Oppy
  2. The Oppy automatically:
    • Finds or creates the contact in Oppy
    • Creates a new conversation
    • Sends the first outreach message based on the prompt
    • Includes context from recent FUB notes (up to 3)

The tag becomes active once applied. Shortly after, you’ll see a second tag appear: gogooppy-youroppy-active — confirming the Oppy picked it up.

Watch Tags (Newer, More Flexible)

Instead of using the GoGoOppy format, you can configure Watch Tags in your Oppy’s settings:

  1. Go to your Oppy’s settings at app.oppy.pro
  2. Add tags to the Watch Tags list (e.g., hot-lead, callback-requested)
  3. When ANY FUB contact receives a matching tag, a conversation triggers

Advantages over GoGoOppy tags:

  • No special naming format required
  • Multiple Oppies can watch the same tag
  • Works with your existing FUB tagging workflow

Your FUB Team Members Sync In Too

Every agent, broker, and team lead on your Follow Up Boss roster shows up in Oppy as a contact — with their name, email, phone, profile photo, and team memberships pulled straight from FUB and refreshed nightly.

Each team contact is auto-tagged so you can slice and target them easily:

  • fub_team_member — anyone currently on your FUB team
  • fub_role_agent / fub_role_broker — their FUB role
  • fub_team_leader — anyone who leads a team in FUB
  • fub_team_<team-name> — one tag per FUB team they belong to (e.g. fub_team_woodland_hills, fub_team_listing_team)

Use it to:

  • Send a bulk SMS to just one office by filtering contacts on fub_team_woodland_hills
  • Target only your brokers with a leadership update (fub_role_broker)
  • Ask the Account Concierge things like “how many agents are on the San Diego team?”
  • Have brand-new hires appear in Oppy automatically the morning after they’re added to FUB

When someone leaves your team in FUB, their team tags come off on the next sync so your filters stay clean.

DNC Protection

If a contact has do_not_contact or dnc tag in FUB, the Oppy will NOT reach out — even if you add a GoGoOppy tag.

Note Sync Details

  • Oppy call summaries → appear as notes in FUB
  • FUB notes → sync to Oppy contact notes
  • Deduplication prevents duplicate notes
  • The fub_id in note metadata tracks which notes have synced

Automation Example: Auto-Tag New Leads

Example (Example Homes Group): the ops manager’s team uses FUB automations to tag leads with gogooppy-youroppy. When the tag fires, your ISA Oppy starts outreach. When a lead is qualified, the needs_attention tag syncs back to FUB. Michael’s ISA team monitors a Slack channel (#kbb-oppy-notifications) where they see leads the moment they’re ready. They built a FUB automation: Tag Added = needs_attention AND Tag Contains = gogooppy-youroppy → Notify ISA team.

Key insight from the call: Michael wanted a unique tag per Oppy so notifications from different sources don’t mix. The needs_attention tag is universal, but you can also instruct the Oppy to add custom tags like youroppy-qualified for more specific routing.

Note summary timing: After the last text in a conversation (5-15 minute timeout), the Oppy automatically posts a detailed summary to the FUB contact notes. This means when an ISA picks up a lead, they can see the full AI conversation context without logging into Oppy.

In FUB, create an automation:

  • Trigger: New lead from major listing portals/listing sites/Facebook
  • Action: Add tag gogooppy-youroppy
  • Result: your ISA Oppy Oppy immediately starts qualifying the lead

Website Chat Embed

Getting the Embed Code

  1. Go to your Oppy’s Share section at app.oppy.pro
  2. Click Embed Widget
  3. Copy the JavaScript snippet

Installing on Your Website

Paste the code before the </body> tag on every page where you want the chat:

<script type="text/javascript">
  var embedKey = 'your-unique-embed-key';
  function handleOppyLoad() {
    if (typeof window.renderChatPopup === "function") {
      window.renderChatPopup(embedKey);
    }
  }
  (function () {
    var oppy = document.createElement('script');
    oppy.src = 'https://e.oppy.pro//chat_popup.js';
    oppy.onload = handleOppyLoad;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(oppy, s);
  })();
</script>

Adding Contextual Buttons

Make buttons on your site send specific messages to the Oppy:

<!-- On a listing page -->
<button onclick="updateChatWindow('I want info about 123 Main Street')">
  Ask About This Property
</button>

<!-- On a pricing page -->
<button onclick="updateChatWindow('Tell me about your pricing plans')">
  Chat About Pricing
</button>

<!-- On a demo page -->
<button onclick="updateChatWindow('I would like to schedule a demo')">
  Book a Demo
</button>

When clicked, the chat opens and sends that message automatically. The Oppy then has full context of what the visitor was looking at.

Feeding Page Context

You can also silently send context as the visitor navigates:

// When visitor lands on a specific page
updateChatWindow('User is viewing the Enterprise pricing page');

This sends a hidden context message (not visible in chat) so the Oppy knows what page they’re on if they start a conversation.

Starter Prompts (Chips)

Configure clickable suggestions that appear in the chat widget:

  • Go to your Oppy’s Share > Edit Page
  • Add 2-3 starter prompts
  • They appear as floating chips when the chat opens

Example chips:

  • “What services do you offer?”
  • “I’m looking to buy a home”
  • “I need help with my account”

QR Codes

Types Available

Web Chat QR — Scanned QR opens the Oppy’s live chat page

  • URL format: https://app.oppy.pro/s/{embed_key}

SMS QR — Scanned QR opens the phone’s SMS app with a pre-filled message

  • Format: SMSTO:{phone_number}:{pre-filled message}
  • The message is whatever you type in the QR configuration

Setting Up QR Codes

  1. Go to your Oppy’s Share section at app.oppy.pro
  2. Scroll to QR Code section
  3. For SMS QR: Type the pre-filled message (e.g., “Hi Jasper! I just watched your webinar and would love the free blueprint”)
  4. Download as PNG

Use Cases

  • Trade shows — Table tents, banners, booth signage
  • Presentations — Put on every slide, especially the last one
  • Business cards — Replace or supplement your phone number
  • Print marketing — Flyers, postcards, brochures, door hangers
  • Webinar follow-up — QR on the last slide for instant engagement

The Power of Pre-Filled SMS QR

QR Code at Presentations (Example)

Alex describes putting a QR code on every slide of his pitch deck:

“I put the QR code up on the last slide for maybe a minute. I get off the stage and look at my phone and Oppy’s already had a burst of conversations. These are C-suite executives that have, on average, gone back and forth many times. I can look at all the different use cases at once and I haven’t had to write a single response.”

For Example Mortgage Academy specifically: Josh was hosting a webinar for 1,500+ registrants. The plan was to display a QR code that would open a text to Jasper. When someone scans and texts, Jasper immediately:

  1. Responds with the free blueprint download link
  2. Asks qualifying questions about their role and team size
  3. Offers the special $249 discounted product
  4. Books qualified leads with Nancy for a group coaching session

This replaces the traditional flow of: scan QR → fill out form → wait for email → hope they open it → eventually get a call.

When someone scans the QR and sends the pre-filled text:

  1. The Oppy instantly has their phone number
  2. The message tells the Oppy where they came from (webinar, event, etc.)
  3. The Oppy can immediately respond with relevant info
  4. The prompt can have special instructions for messages matching that text

Pro tip: This replaces traditional lead capture forms. Instead of: scan QR → fill form → wait for email → follow up — it’s: scan QR → send text → instant AI conversation → qualified in minutes.


Google Calendar Integration

Connecting Your Calendar

  1. Go to Integrations at app.oppy.pro
  2. Click Connect Google Calendar
  3. Authorize access to your Google account
  4. Select which calendar(s) to use

What the Oppy Can Do with Calendar

  • Find available time slots based on your free/busy status
  • Book appointments directly on your calendar
  • Respect your rules — you set scheduling constraints in the prompt

Using External Scheduling Tools Instead

If you prefer Calendly, Schedule Once, GoHighLevel Calendar, etc.:

  • Don’t connect Google Calendar in integrations
  • Instead, add the booking links directly in the prompt:
    For sales demos: Share this link → [Calendly URL]
    For coaching sessions: Share this link → [GoHighLevel URL]
    

Scheduling Rules in the Prompt

Scheduling rules:
- Only book Monday-Thursday between 10am-4pm Pacific
- Never book same-day appointments
- Leave 30 minutes between meetings
- Coaching sessions: Tuesdays and Thursdays only
- Sales demos: Any available slot M-Th

Slack Integration

Notification Channel

Add a Slack channel’s email address as a manager on your Oppy:

  1. In Slack, go to the channel → Settings → Integrations
  2. Copy the channel’s email address
  3. In Oppy, add that email as a Manager for your Oppy
  4. Needs attention notifications will now post to that Slack channel

ISA Workflow

Many teams use this for speed-to-lead:

  1. Lead qualifies → Oppy sets needs_attention
  2. Notification posts to #leads Slack channel
  3. ISA team sees it immediately and picks up the conversation
  4. ISA can access the full transcript and contact info in Oppy

Webhook Integration

Example: Salesforce + Oppy (Example Lending/Example Financial)

Example Lending uses Salesforce and wanted a clear data flow:

Inbound flow:

  1. Lead comes into Salesforce from their website
  2. the salesperson (salesperson) makes first call attempt
  3. If no answer, Salesforce automation sends contact data to Oppy
  4. Oppy’s AI follows up via SMS/email with personalized outreach
  5. If lead responds, AI qualifies them

State change flow:

  1. Lead status changes in Salesforce (e.g., “Contacted → Cold”)
  2. Webhook sends new status to Oppy
  3. Oppy switches to a re-engagement strategy
  4. Different prompt behavior based on the status received

Outbound flow:

  1. Lead says “stop” → Oppy marks DNC
  2. Oppy sends webhook back to Salesforce
  3. Salesforce updates the do-not-call flag
  4. This is critical for compliance — fines are significant

Key architectural principle (from the call): “Don’t make Oppy responsible for reading Salesforce state — push state changes to it.” Your CRM is the source of truth. Oppy acts on what you send it.

For technical teams that want to connect to Salesforce, HubSpot, or custom systems:

Inbound (Leads → Oppy)

  • Email trigger: Forward lead notification emails to your Oppy’s email address
  • API: POST contact data to Oppy’s API
  • Webhook: Configure your CRM to send webhooks when lead status changes

Outbound (Oppy → Your Systems)

  • Needs attention emails → Parse and route in your system
  • Webhook events → Subscribe to conversation status changes, new contacts, etc.
  • API polling → Query Oppy’s API for updated data
  • HTTP requests — The Oppy can make HTTP requests to your APIs from within conversations (admin function)

HubSpot Integration

What It Does

  • Two-way contact sync — HubSpot contacts sync to Oppy and vice versa
  • Note sync — Oppy notes sync to HubSpot contact records
  • Deal sync — Oppy board items sync bidirectionally as HubSpot deals
  • Pipeline sync — HubSpot pipelines auto-sync for deal stage mapping
  • Webhook events — Real-time updates on contact/deal creation, deletion, and property changes

Setting Up HubSpot

  1. Navigate to Integrations at app.oppy.pro
  2. Enter your HubSpot API Key (Bearer token)
  3. Click Connect
  4. Contacts, deals, and pipelines begin syncing automatically

What Syncs

Oppy HubSpot Direction
Contact (name, email, phone) Contact (firstname, lastname, email, phone, mobilephone) Bidirectional
Notes on contacts Notes associated with contacts Oppy → HubSpot
Board items (deals) Deals (name, stage, pipeline, amount, close date) Bidirectional
Pipeline stages Pipeline stages HubSpot → Oppy

How Contact Sync Works

  • When Oppy creates/updates a contact, it searches HubSpot by email or phone first to prevent duplicates
  • HubSpot contact ID stored in Oppy contact metadata as hubspot_id
  • Webhooks fire on contact.creation, contact.deletion, and contact.propertyChange in HubSpot

How Deal Sync Works

  • Oppy board items map to HubSpot deals
  • Deal stages are mapped between Oppy list names and HubSpot pipeline stages
  • HubSpot deal ID stored in list item metadata as hubspot_deal_id
  • Initial setup fetches all existing HubSpot deals

Webhook Events from HubSpot

HubSpot sends real-time webhooks for:

  • Contact created, deleted, or property changed
  • Deal created, deleted, or property changed
  • Secured with HubSpot signature validation

Bulk Outreach (SMS, Calls, Email)

Bulk SMS

At app.oppy.proContacts page:

  1. Select contacts using checkboxes (or filter and select all matching)
  2. Click Send Message in the bulk action bar
  3. Choose which Oppy should handle responses
  4. Write or auto-generate the message
    • Write one message for all recipients
    • Or let the AI personalize per-contact based on their data
  5. Choose delivery method (SMS or email)
  6. Click Send

What happens next:

  • Each contact receives the message from the selected Oppy
  • When contacts respond, the AI handles the conversation automatically
  • All conversations appear in the dashboard, filterable by Oppy
  • If follow-up is enabled, non-responders get automatic follow-up

Scale: Up to 1,000 messages per batch. A completion report is emailed to you when done.

Bulk Voice Calls

At app.oppy.proContacts page:

  1. Select contacts to call
  2. Click Call Contacts
  3. Choose which Oppy makes the calls
  4. Optionally set a custom greeting for this batch
  5. Set delay between calls (to control pacing)
  6. Click Call

What happens:

  • The Oppy calls each contact sequentially
  • Each call creates a conversation with full transcript
  • Results export as CSV when the batch completes
  • Connected calls: AI qualifies per the prompt
  • Voicemails: AI leaves a message per the prompt
  • No answer: Logged, can trigger SMS follow-up

Example: Example Lending Team ran a high daily calling volume. The CSV export let them quickly see which calls connected, which went to voicemail, and which leads were qualified.

Bulk Email

Same flow as bulk SMS but with email as the delivery method:

  • Each email comes from the Oppy’s email address (e.g., jasper@open.oppy.pro)
  • Includes the Oppy’s email signature
  • Responses are handled by the AI automatically
  • Thread tracking maintains conversation context across replies

Triggering Bulk Outreach via FUB Tags

Instead of selecting contacts manually, automate it:

  1. In FUB, create an automation that adds gogooppy-{oppy-name} to matching contacts
  2. The Oppy picks up each tagged contact and starts a conversation
  3. This works for any FUB automation trigger: new lead, stage change, date-based, etc.

Example: New lead from major listing portals → FUB automation adds gogooppy-youroppy → your ISA Oppy calls within 60 seconds.

Scheduling Bulk Outreach

Messages can be scheduled for future delivery:

  • Set deliver_after timestamp for each message
  • Respects business hours if configured
  • Useful for: Monday morning campaigns, time-zone-aware sends, post-event follow-ups

Google Calendar Integration (Detailed)

Note: This section expands on the basic setup above with detailed capabilities.

What It Does

Full calendar management — your Oppy can check availability, book meetings, and manage events on your Google Calendar.

Setting Up

  1. Go to Integrations at app.oppy.pro
  2. Click Connect Google Calendar
  3. Authorize via Google OAuth (grants calendar read/write access)
  4. Select which calendar(s) your Oppies should use

Multi-Calendar Support

You can connect multiple calendars and assign different ones to different Oppies:

  • Primary calendar — Your main schedule
  • Resource calendars — Conference rooms, shared resources
  • Team calendars — Different team members’ availability

Configure in your Oppy’s settings: each Oppy can access specific calendars with labels (e.g., “Sales Demos”, “Coaching Sessions”).

What the Oppy Can Do

Check Availability:

  • Searches across all connected calendars
  • Respects busy/free status
  • Returns available time slots within your specified rules
  • The AI MUST call get_available_timeslots before offering any booking — it never guesses availability

Book Appointments:

  • Creates events directly on your calendar
  • Adds attendee details (name, email, phone)
  • Auto-generates Google Meet links (optional)
  • Sends calendar invitations to attendees
  • Supports all-day events

Manage Events:

  • Reschedule (update time/date)
  • Cancel (delete event)
  • Update details (title, description, location, attendees)
  • Search events by text query

Scheduling Rules in Your Prompt

Control how the Oppy books through natural language in the prompt:

SCHEDULING RULES:
- Only book Monday-Friday between 9am-5pm Pacific
- Minimum 30 minutes between meetings
- No same-day bookings
- Maximum 3 meetings per day
- Coaching sessions: Tuesdays and Thursdays only
- Sales demos: Any available weekday slot
- If no slots available this week, offer next week

Using External Tools Instead

If you use Calendly, GoHighLevel, Schedule Once, or similar:

  • Don’t connect Google Calendar in integrations
  • Put the booking links directly in your prompt:
    For individual consultations: Share [Calendly URL]
    For group sessions: Share [GoHighLevel URL]
    For corporate demos: Share [Schedule Once URL]
    

    The Oppy will share the appropriate link based on the conversation context.

Calendar Analytics (via Account Concierge)

Ask the concierge at app.oppy.pro:

  • “What meetings do I have today?”
  • “Who have I met with most this month?”
  • “Find people I met with once but haven’t met again”
  • “Compare my calendar this month vs same month last year”

Integration Status Overview

Integration Status Sync Direction Key Features
Follow Up Boss Native, production Bidirectional Contacts, notes, deals, tasks, appointments, team roster, GoGoOppy tags, Watch Tags
HubSpot Native, production Bidirectional Contacts, notes, deals, pipelines, webhooks
Google Calendar Native, production Bidirectional Events, availability, booking, multi-calendar
Twilio Native, production N/A (infrastructure) SMS, voice, phone provisioning, A2P compliance
Thanks.io Native, production Outbound Physical handwritten cards and postcards
Slack Via email Inbound (notifications) Add Slack channel email as Oppy manager
Salesforce Via webhook/email/API Push-based Email forwarding, webhooks, HTTP requests from Oppy
ActiveCampaign Not available No integration. Use webhook/email patterns instead.
GoHighLevel Via booking links Link-based Paste GHL calendar links in the prompt
Zapier / Make / N8N Via webhooks Both Automation rules send webhooks; inbound via email forwarding
Any CRM/Tool Via HTTP requests Both Oppy can make API calls to any HTTP endpoint during conversations

No ActiveCampaign Integration

ActiveCampaign is not currently integrated. If you use ActiveCampaign, the best approach is:

  1. Email forwarding — Forward AC lead notifications to your Oppy’s email
  2. Webhook — Use AC automations to send webhooks that trigger Oppy actions
  3. HTTP requests — The Oppy can call ActiveCampaign’s API directly during conversations if you provide the API key in the prompt

Thanks.io (Direct Mail)

Your Oppy can send physical handwritten notes and postcards via Thanks.io:

  • Send personalized handwritten cards to contacts
  • Send custom image postcards
  • Track order and shipping status
  • Cancel orders within 1 hour if in “Reviewing” status

Set up: Add your Thanks.io API key in Integrations at app.oppy.pro. Then enable the send_direct_mail function on your Oppy.

Use cases:

  • Post-closing thank you cards (real estate)
  • Handwritten follow-up after meetings
  • Anniversary/birthday cards to clients
  • “We miss you” re-engagement cards

SMS Compliance (A2P 10DLC)


Integration Decision Matrix

Use this to decide which integration approach to use:

Your CRM Best Approach Effort Data Flow
Follow Up Boss Native integration (API key) 5 min Bidirectional auto-sync
GoHighLevel Calendly/booking links in prompt 10 min Manual, link-based
Salesforce Webhooks + email forwarding 1-2 hrs Push from SF, email back
HubSpot Native (in development) or webhook 30 min Webhook-based
No CRM Use Oppy’s built-in contacts 0 min Oppy IS your CRM
Custom/Other Email forwarding + API 1-3 hrs Email in, webhook out

Minimum Viable Integration (Any CRM)

If you just want to get started fast with any CRM:

  1. Forward lead notification emails to your Oppy’s email address
  2. Add the Oppy’s email as a manager (whitelisted)
  3. In the prompt: “When you receive an email from [CRM email], extract the lead info and call them”

That’s it. The Oppy will create contacts, start conversations, and you can add more sophisticated integrations later.

What You Need for SMS

  1. Privacy policy on homepage — Must include SMS language
  2. EIN — Business tax ID
  3. Separate SMS consent — On lead capture forms, SMS consent should be its own checkbox
  4. Standard language: “By providing your phone number, you consent to receive text messages from [Company]. Message and data rates may apply. Reply STOP to opt out.”

What We Handle

  • Filing the A2P registration with carriers
  • Configuring your dedicated Twilio subaccount
  • Trust product verification
  • Ongoing compliance monitoring

Timeline

Typically 1-2 weeks from submission to approval. Voice calls work immediately — only SMS requires provisioning.


Back to Master Guide