Stammer.ai Docs
  • Welcome
    • 👋Welcome to Stammer.ai
    • 📑About Stammer.ai
    • 🆕New/ Latest Updates
  • START HERE
    • ❓What is Stammer.ai?
    • 🫡Agency Quick Start Guide
    • 📚Glossary
    • 🤑Our Community
  • AI Features
    • 🤖AI Agents (Chatbots)
      • How AI Agents Work
      • How to Build an AI Agent
    • 🔃AI Agent Dashboard
      • (White Label) Marketplace
      • Default Chatbot
      • Share Chatbot
      • Clone Chatbot
      • Chatbot UUID
      • Delete Chatbot
      • Summary (Analytics)
    • 💬Conversations
      • Review Past Conversations
      • Conversation Links
      • Training Better Responses
      • Live Chat
        • Human Handoff Automation (for Live Chat)
    • 📚Knowledge Base Explained
      • 💽Data Storage (Characters)
        • Storage (Characters) Example
      • Copy & Paste Text
      • Upload Documents
      • Scrape Websites
        • 24-hour Auto-Scraping
        • Scraping a Google Doc
        • Google Docs
      • Question & Answer Pairs
      • Data & Content Security
      • Citations/ Sources
      • HTML Rendering (Embed Images & Videos)
    • ✍️Prompting
      • What is a Base System Prompt?
      • Writing a Base System Prompt
      • Prompt Examples (Marketplace)
        • Base System Prompt Template (General)
    • 🔧AI Agent Settings
    • 🎨AI Chat Widget
      • Customize Chat Widget Apperance
      • Chat Widget Pop-Up
      • Initial Messages Pop-Up
      • Chat Widget Voice
    • ⚙️Advanced Settings for AI Agent
      • Model Version
      • Prioritize Question/Answer Results
      • Chatbot Visibility
      • Temperature
      • Message Template
      • Support Email
      • Domains
      • Show Data Sources in Chat Widget
      • Debug Mode
    • Leads 2.0
    • 📈Leads (Legacy)
      • Overview of Lead Generation
      • Lead Collection Form Fields
      • Lead Collection Webhook URL
      • Lead Collection Email Notification
      • In Chat Lead Collection Base System Prompt
      • Sending Lead Data to Zapier
      • Sending Lead Data to GHL
      • Sending Lead Data to Zoho CRM
    • 📅Scheduling
      • AI Scheduling - Simplified
      • AI Scheduling - Experimental (Beta)
        • What is Scheduling?
        • Calendar Integration
          • Google Calendar
        • Appointment Scheduling Activation
        • Appointment Scheduling Webhook URL
        • Appointment Scheduling Email Notification
        • Appointment Scheduling Base System Prompt
        • The Appointment Scheduling Functions & Customizing the Appointment Scheduling Prompt
    • 🧊Integrations
      • Embed Chatbot on a Website
      • Zapier App
      • GoHighLevel (GHL)
      • Instagram DM
      • Facebook Messenger
      • WhatsApp
      • ElevenLabs Voice
      • Discord
    • 🤖Troubleshooting
      • How to Respond in Any Language
      • Responses are Too Long
      • Debug Mode
      • Clickable Links in Responses
    • 🌌Functions (Labs)
      • Custom Functions
        • How Custom Functions Work
        • Code Generation Prompt for Custom Functions
        • Stock Market Data - Custom Function
        • Shopify - Custom Function
        • Airtable - Custom Function
        • Google Sheets - Custom Function
    • 🔄Vault
      • OpenAI API Key (ChatGPT)
      • Anthropic API Key (Claude)
      • xAI API Key (Grok)
      • Eleven Labs API Key
  • 👑MasterChat
  • White Label
    • 🤑What is White Labeling?
    • 👤Client Sub-Accounts
      • Create Sub-Account
      • Sub-Account Wallet
      • Sub-Account Storage Balance
      • Sub-Account Extra AI Agents
      • How to clone a chatbot to a sub-account
    • 🔗Custom Domain
      • Troubleshooting Custom Domain Deployment DNS Issues
    • 🏗️The SaaS Configurator
      • Create Subscription Package
        • Custom Packages + Settings
      • Add-Ons
        • Storage (Characters) - Add Ons
        • AI Agent Rebilling - Add Ons
        • MasterChat - Add Ons
        • Advanced Scraper - Add Ons
    • 👍White Label API
      • API Documentation
      • AI Agent API
        • Message AI Agent
        • Create AI Agent
        • Retrieve AI Agent
        • Update AI Agent
        • Delete AI Agent
      • Knowledge Base API
        • Add AI Agent Q/A
        • Add URLs to Scrape
        • Add Files (Pdf, Doc etc.)
      • Conversations
        • AI Agent Conversations
        • Retrieve Conversation
        • Delete A Conversation
      • Sub-Accounts
        • Create Sub-Account
        • Retrieve Sub-Account
        • Update Sub-Account
        • Delete Sub-Account
      • User
        • Retrieve User's Data
      • Examples
        • Create New Sub-Account (Zapier Example)
        • White Label API x Zapier X Slack Example
        • AI Chatbot Chrome Extension
    • 👾White Label (Your) Marketplace
    • 😇White Label Free Trials
      • Free Trial Settings (No CC Req.)
      • Free Trial Settings (CC Req.)
    • 🎨Custom Dashboard Styling
  • Agency Settings
    • ⛳Agency Dashboard
    • 👥User Permissions
    • 😎Agency Profile
    • 👥User Access
    • 💳Connect Stripe
    • 🔗Custom Menu Links
    • 🤘Default Prompts
  • Account Management
    • ⚙️Billing Usage & Settings
    • 💲Agency Billing
      • Subscription Plans
      • Change Subscription Plan
      • Update Credit Card
      • Download Invoice
      • Refunds
      • Cancel Subscription
    • 💱Agency Wallet
      • The Agency Wallet System
      • Agency vs Sub-Account Wallet
      • Auto Billing
      • Add Funds to Wallet
      • AI Messages Costs
      • AI Agents Costs
      • Storage (Characters) Costs
    • 🤲Admin Account Profile
      • Change Password
      • Google Auth Login
  • Support
    • 🤝Need Help?
    • 🔓Security & Compliance
      • Data Privacy & Security Report
      • GDPR
      • Terms & Conditions
      • Privacy Policy
      • Data Processing Agreement
      • AI Model Data Usage
      • Service Level Agreement
    • ⚡Discord Community
    • 📹Weekly Office Hours
    • 🙌FAQ
      • General
      • Localization
      • Data/Security
      • Set Up
      • Password
      • Technical Questions
      • Sales/Onboarding
      • Marketing/Pricing
      • Where can I find...?
      • Other
      • Alternatives to Stripe Connect
    • 📰Changelog/ Roadmap
    • 🍭Resources
      • Sales Deck
      • 💰AI Agency 101
        • How to Price Your AI Chatbots
        • How to Get More Clients
        • The Value Proposition of AI Agents
        • AI SaaS Funnel Explained
    • 🤑Affiliate Program
Powered by GitBook
On this page
  • Video
  • Try Our Appointment Scheduling Prompt Helper
  • Intro
  • Example Appointment Scheduling Prompt
  • Note on the "Appointment Scheduling Base System Prompt"
  • Customizing the Appointment Scheduling Prompt
  • The get_available_times function
  • The schedule_appointment function
  1. AI Features
  2. Scheduling
  3. AI Scheduling - Experimental (Beta)

The Appointment Scheduling Functions & Customizing the Appointment Scheduling Prompt

This page explains the appointment scheduling functions that we provide to the AI agents and also gives some tips on customizing the appointment scheduling prompt.

PreviousAppointment Scheduling Base System PromptNextIntegrations

Last updated 1 year ago

Video

Try Our Appointment Scheduling Prompt Helper

Intro

Appointment scheduling in Stammer is entirely driven by the prompts you write for your chatbot. This tutorial will walk you through the process of customizing the appointment scheduling prompt to fit your specific requirements.

Example Appointment Scheduling Prompt

// ...Rest of your prompt above...

You are an appointment scheduling bot that answers questions. You will always prompt the user to see if they want to schedule an appointment.

// Change the above if your scenario is different

# How to schedule an appointment

## Get the timezone from the user

When the user wants to schedule an appointment you will ask them what timezone they are in. 

## Get the available times

Then you will use the get_available_times function, passing the user's timezone converted by you to a valid IANA Time Zone string, to get the available times for the agent.

    Example call: get_available_times(timezone="America/Los_Angeles") 

## Propose the times to the user

Then I want you to propose the next 3 time slots the agent is available in the following format:
    1. Mon 11-04-2024 11:00AM PST
    2. Mon 11-04-2024 11:30AM PST
    3. Mon 11-04-2024 2:00PM PST
    
Show these timeframes using markdown for clarity. Each day and its available time should be displayed on separate lines for easy readability.

If the user doesn't like any of those times give them 3 others that will work.

## Scheduling the appointment

When the user picks a time, you will then get their email. If user has already provided their email, then ask if they want to use the same one, else ask for their email.

Once you have their email and the time you will then use the schedule_appointment function to schedule the appointment by calling it with the email and the time in RFC 3339 format.

    Example call: schedule_appointment(email="someone@example.com", desired_time_rfc3339="2024-11-04T09:30:00-08:00")

Important Note: This is just an example call for you to understand, please do not use this email, instead, ask the user for their email and use that.

## Informing the user the appointment has been scheduled

When the appointment has been successfully scheduled, go ahead and include the link that the function gives you to the successfully scheduled appointment.

However, occasionally users do want to modify or customize their appointment scheduling prompt.

Note on the "Appointment Scheduling Base System Prompt"

In Stammer, there is an "Appointment Scheduling Base System Prompt" that gets appended to the main base system prompt. This separation allows for clearer organization, but you can choose to merge the appointment scheduling prompt into your main base system prompt if desired.

Customizing the Appointment Scheduling Prompt

If you do want to customize the appointment scheduling prompt, you will need to know about the two appointment scheduling functions we provide to the AI so that it knows how to call our code and get the function scheduled.

The get_available_times function

get_available_times(timezone="America/Los_Angeles")

Example Output of the function

Thu 04-04-2024 06:00PM-05:00PM PDT
Fri 04-05-2024 12:00PM-01:00PM PDT
Fri 04-05-2024 03:00PM-05:00PM PDT 
Mon 04-08-2024 12:00PM-01:00PM PDT 
Mon 04-08-2024 03:00PM-05:00PM PDT 
Tue 04-09-2024 12:00PM-01:00PM PDT 
Tue 04-09-2024 03:00PM-05:00PM PDT 
Wed 04-10-2024 12:00PM-01:00PM PDT 
Wed 04-10-2024 03:00PM-05:00PM PDT

The schedule_appointment function

schedule_appointment(email="someone@example.com", desired_time_rfc3339="2023-11-04T09:30:00-08:00")

This is the actual function that schedules the appointment on the calendar of the user who is connected to the AI Agent.

It takes in two parameters:

  • The email of the person chatting with the agent who wants to schedule the appointment

  • The desired time to schedule the appointment in RFC 3339 format.

Example Output of the function

Appointment scheduled successfully. Event Link: https://www.google.com/calendar/event?eid=YmwxNjM1cjhjaGRqdWgkeajlkgjreNGtpZzAgdGl

If you still have questions after reading this article and and watching the video above you can we have created.

The get_available_times function takes in a and returns the a list of time ranges that the user whose calendar is connected to the agent is available.

📅
try this experimental Appointment Scheduling Prompt Helper
valid IANA timezone string