# Context Source: https://docs.whappy.ai/campaign/context Set up your campaign's basic information and AI conversation context Campaign Context is the foundation of your WhatsApp automation. This is where you define who your AI assistant is and what it's trying to achieve in conversations with leads. ## Setting Up Your Context Navigate to **Campaign → Context** to configure these essential details: ### WhatsApp Name This is the name that appears on your lead's phone when they receive messages. **Examples:** * `Sarah from TechCorp` * `Mike - Web Design` * `+1-555-0123` (your business number) * `Lisa | Marketing Agency` This name shows up in the lead's WhatsApp contact list, so make it professional and recognizable. ### Business Activity Describe what your business does so the AI understands your industry and services. **Examples:** * `We provide web design and development services for small businesses` * `Digital marketing agency specializing in Facebook and Google ads` * `Real estate agent helping first-time home buyers in Austin, Texas` * `Business consultant for e-commerce companies looking to scale` ### Conversation Objective Tell the AI what you want to accomplish in these conversations. **Examples:** * `Qualify leads for our web design services and book discovery calls` * `Find out their marketing budget and schedule strategy sessions` * `Understand their home buying needs and arrange property viewings` * `Assess their business challenges and offer consultation packages` ### Additional Information *(Optional)* Any extra context that helps the AI have better conversations. **Examples:** * `We work with budgets starting from $5,000. Focus on clients in the US and Canada` * `Our typical project timeline is 4-8 weeks. We specialize in Shopify stores` * `I've been in real estate for 10 years and focus on properties under $500K` ## How the AI Uses This Information ### **Conversation Style** The AI uses your business context to speak appropriately for your industry and maintain a consistent personality throughout conversations. ### **Qualification Questions** Based on your objectives, the AI knows what information to collect and how to steer conversations toward your goals. ### **Natural Responses** The additional information helps the AI answer common questions about your services, pricing, and process naturally. ## Best Practices ### **WhatsApp Name** * **Keep it personal**: Use a real name when possible * **Add context**: Include your business or role if helpful * **Stay professional**: Avoid nicknames or casual language * **Be consistent**: Use the same name across all communications ### **Business Description** * **Be specific**: "Web design" is better than "technology services" * **Include your niche**: Mention your specialty or target market * **Keep it conversational**: Write how you'd explain it to a friend * **Focus on benefits**: What problems do you solve? ### **Conversation Goals** * **Be clear about the outcome**: What happens when qualification is successful? * **Include next steps**: Mention calls, meetings, or demos you want to book * **Set expectations**: What level of interest or budget you're looking for ### **Additional Context** * **Mention typical budgets**: Helps AI qualify leads appropriately * **Include timelines**: When do projects usually start or complete? * **Add geographic focus**: If you serve specific locations * **Note key differentiators**: What makes you unique? ## Examples by Industry ### **Web Design Agency** * **Name**: `Sarah - Web Design` * **Activity**: `We create custom websites for small businesses and startups` * **Objective**: `Qualify leads for web design projects and schedule discovery calls` * **Additional**: `Projects typically range from $3K-15K with 4-6 week timelines` ### **Business Consultant** * **Name**: `Mike | Business Growth` * **Activity**: `Business consultant helping companies scale their operations` * **Objective**: `Identify growth challenges and book strategy consultations` * **Additional**: `I work with businesses doing $500K+ annually looking to double revenue` ### **Real Estate Agent** * **Name**: `Lisa Chen - Austin Realtor` * **Activity**: `Real estate agent specializing in Austin area home sales` * **Objective**: `Understand home buying needs and schedule property viewings` * **Additional**: `I focus on first-time buyers with budgets $200K-500K` ## Testing Your Context After setting up your context: 1. **Review for clarity**: Does each field clearly explain your business? 2. **Check the tone**: Does it match how you normally communicate? 3. **Consider lead perspective**: Would this make sense to someone unfamiliar with your business? 4. **Test with others**: Have colleagues review for clarity and professionalism ## Next Steps Once your context is set up: * Define what **information to collect** from leads in the Info section * Build your **conversation flow** in the Funnel builder * Configure your **operating hours** in Options Your campaign context provides the foundation for all AI conversations, so take time to make it clear and comprehensive! You can update your context anytime, but changes will only apply to new conversations. Existing conversations continue with the original context. # Funnel Source: https://docs.whappy.ai/campaign/funnel Build conversation flows to qualify leads and book appointments automatically The Funnel is Whappy's visual conversation flow builder. It allows you to create automated WhatsApp conversation sequences that guide leads through qualification questions and actions like booking meetings. ## How Funnels Work Your funnel defines the path a conversation takes with each lead. The AI follows this flow, asking questions, evaluating responses, and taking actions based on the logic you've built. **Flow Structure:** * **Nodes** represent actions or decisions in the conversation * **Edges** connect nodes to show the conversation path * **Conditions** create branching logic based on lead responses * **Actions** perform tasks like booking meetings or sending data ## Node Types ### Start Node Every funnel begins with a Start node that sends the initial WhatsApp message. **Configuration:** * **WhatsApp Template**: Select an approved template for the first message * **Preview**: View the template content before sending WhatsApp requires approved templates for the first message to a contact. Configure templates in the Integrations section. **Example Use:** ``` Template: "Hi {{name}}, thanks for your interest in our web design services! I'd love to learn more about your project." ``` ### Info Node Collects specific information from leads during the conversation. **Configuration:** * **Information Field**: Choose which data to collect (from Info tab setup) * **AI Guidance**: The AI naturally asks for this information in conversation **Available Information Types:** * **Text**: Open-ended responses (company name, project description) * **Number**: Numeric values (budget, timeline, employee count) * **Multiple Choice**: Predefined options (priority level, industry type) **Example Use:** ``` Field: Budget Range AI asks: "What budget range are you working with for this project?" Stores: Lead's budget response for later use ``` ### Condition Node Creates branching logic based on collected information. **Configuration:** * **Check Field**: Select which information to evaluate * **Operator**: How to compare the value (equals, greater than, contains, etc.) * **Value**: What to compare against * **Default Path**: Where to go if information is unknown **Available Operators:** * **Text**: Equals, Contains, Is empty, Is not empty * **Numbers**: Equals, Greater than, Less than, Greater/Less or equal * **Multiple Choice**: Equals, Is in list, Is not in list **Example Use:** ``` Condition: Budget > 5000 True Path: → Book Meeting Node False Path: → Info Node (ask about timeline) Default: → True Path (if budget unknown) ``` ### Talk Node Provides information or responses to leads without collecting data. **Configuration:** * **AI Examples**: Add examples of what the AI should say * **Multiple Examples**: AI uses these as guidelines for natural responses **Example Use:** ``` Examples: - "We specialize in modern, mobile-responsive websites for small businesses" - "Our typical project includes design, development, and basic SEO optimization" - "We can have your site live within 4-6 weeks of project start" ``` ### Book Meeting Node Schedules appointments with qualified leads. **Configuration:** * **Meeting Type**: Select from your Calendly/Cal.com event types * **Event Description**: What kind of meeting this is * **Ask Message**: Example of how AI should propose the meeting **Requirements:** * Calendly or Cal.com integration must be configured * At least one active event type available **Example Use:** ``` Meeting Type: "30-min Discovery Call" Description: "Strategy session to discuss your web design needs" Ask Message: "I'd love to schedule a quick call to discuss your project. Are you available next week?" ``` ### Close Node Ends the conversation and optionally sends lead data to external systems. **Configuration:** * **Webhook (Optional)**: Send lead data to your CRM or other tools * **Endpoint URL**: Where to send the data * **HTTP Method**: POST, PUT, or PATCH * **Custom Headers**: Authentication or content type headers **Example Use:** ``` Webhook: https://your-crm.com/api/leads Method: POST Headers: Authorization: Bearer your-token Data: All collected lead information sent as JSON ``` ## Building Your Funnel ### Getting Started 1. **Start with Context**: Set up your campaign context first (Info tab) 2. **Define Information**: Configure what data to collect (Info tab) 3. **Build the Flow**: Use the visual builder to create your conversation path 4. **Test Thoroughly**: Use the Test button to simulate conversations ### Adding Nodes * Click the **+** button after any node to add the next step * **Condition nodes** show two + buttons (True/False paths) * **Other nodes** show one + button for the next step ### Connecting Logic 1. **Linear Flow**: Start → Info → Info → Book Meeting → Close 2. **Branching Flow**: Start → Info → Condition → Different paths based on response 3. **Complex Flow**: Multiple conditions and paths based on various criteria ### Visual Layout * Nodes are positioned automatically based on the flow * **Condition branches** spread horizontally (True left, False right) * **Linear nodes** flow vertically down the page ## Testing Your Funnel ### Test Button The Test button simulates a conversation with your funnel: * **Requirements**: Funnel must be saved and have at least 2 nodes * **Simulation**: Chat interface shows how the AI will respond * **Data Collection**: See what information gets collected * **Flow Paths**: Test different conversation branches ### Test Scenarios Test these common scenarios: * **Happy Path**: Lead provides all information and books meeting * **Incomplete Info**: Lead skips questions or provides unclear answers * **Disqualified Lead**: Lead doesn't meet your criteria * **Different Conditions**: Various budget ranges, timelines, or other factors ## Best Practices ### Flow Design * **Keep it Simple**: Start with basic flows, add complexity gradually * **Limit Conditions**: Too many branches make flows hard to manage * **Test Frequently**: Check each change with the test feature * **Plan Paths**: Map out your ideal conversation before building ### Information Collection * **Essential First**: Collect the most important qualifying information early * **Natural Order**: Ask questions in a logical sequence * **Clear Options**: For multiple choice, make options distinct and clear * **Default Paths**: Always set appropriate defaults for unknown information ### Meeting Booking * **Qualify First**: Only offer meetings to qualified leads * **Clear Purpose**: Explain what the meeting will cover * **Flexible Scheduling**: Use calendar integration for easy booking * **Confirmation**: Set up email confirmations through your calendar tool ### Webhook Integration * **Test Endpoints**: Verify your webhook URLs work before going live * **Authentication**: Use proper headers for secure API access * **Error Handling**: Your endpoint should handle the data format properly * **Data Mapping**: Plan how Whappy's data maps to your CRM fields ## Common Flow Patterns ### Lead Qualification Flow ``` Start → Get Budget → Budget Condition → Get Timeline → Book Meeting → Close ↓ Talk (Explain Pricing) → Close ``` ### Information Gathering Flow ``` Start → Get Company → Get Industry → Get Size → Condition (Size > 50) → Book Meeting ↓ Talk (SMB Services) → Close ``` ### Multi-Stage Qualification ``` Start → Get Budget → Budget OK? → Get Timeline → Timeline OK? → Book Meeting ↓ ↓ ↓ ↓ Close Close Close Close ``` ## Troubleshooting ### Common Issues * **Test Button Disabled**: Save your funnel and ensure it has multiple nodes * **Template Errors**: Check WhatsApp integration and template approval status * **Booking Failures**: Verify Calendly/Cal.com connection and active event types * **Webhook Issues**: Test your endpoint URL and authentication headers ### Flow Problems * **Dead Ends**: Every path should eventually reach a Close node * **Missing Conditions**: Ensure all condition branches are connected * **Unclear Logic**: Review condition operators and values * **Too Complex**: Simplify flows that have too many branches ## Next Steps After building your funnel: 1. **Configure Options**: Set operating hours and timezone 2. **Test Thoroughly**: Try multiple conversation scenarios 3. **Launch Campaign**: Start your automated conversations 4. **Monitor Performance**: Review conversation data and optimize Start with a simple linear flow (Start → Info → Book Meeting → Close) and add complexity as you learn what works best for your leads. # Info Source: https://docs.whappy.ai/campaign/info Define what information your AI assistant will collect from leads during conversations This is where you define what information your AI assistant should collect from leads during WhatsApp conversations. These fields become available in your conversation funnel for qualifying and gathering lead data. ## How It Works 1. **Create information fields** for data you want to collect (budget, timeline, needs, etc.) 2. **Use these fields in your funnel** by adding Info nodes that ask for specific information 3. **AI collects the data** during conversations with leads 4. **Review collected information** in the Leads section ## Adding Information Fields Click **"Add Info Field"** to create a new field for lead qualification. ### Field Details **Field Title** * What you'll see in your leads dashboard and funnel builder * Examples: "Budget", "Timeline", "Company Size", "Project Type" **Description** * Instructions for the AI about what to ask for * Examples: * "Ask about the client's budget for this project" * "Find out when they need the project completed" * "Understand what type of website they need" **Information Type** Choose how leads should provide this information: * **Text**: Open-ended text responses * **Number**: Numeric values (budget amounts, company size, etc.) * **Multiple Choice**: Predefined options to choose from ## Field Types Explained ### Text Fields Best for open-ended questions where you want detailed responses. **Examples:** * **Company Description**: "Tell me about your business and what services you offer" * **Project Details**: "Describe what you're looking for in this project" * **Current Challenges**: "What's your biggest marketing challenge right now?" ### Number Fields Perfect for budgets, quantities, sizes, and other numeric data. **Examples:** * **Budget Range**: "What's your budget for this project?" * **Company Size**: "How many employees does your company have?" * **Monthly Revenue**: "What's your current monthly revenue?" ### Multiple Choice Fields Great for qualifying leads with specific criteria or preferences. **Setup:** * **Option Key**: Internal identifier (e.g., "small\_budget", "large\_budget") * **Display Text**: What the lead sees (e.g., "Under $5,000", "Over $20,000") **Examples:** **Budget Range:** * Under \$5,000 → `small_budget` * $5,000 - $15,000 → `medium_budget` * Over \$15,000 → `large_budget` **Project Timeline:** * ASAP → `urgent` * Within 3 months → `normal` * Flexible timing → `flexible` **Industry Type:** * E-commerce → `ecommerce` * Professional Services → `services` * Manufacturing → `manufacturing` ## Example Questions Add example questions to help the AI ask for information naturally: **For Budget:** * "What's your budget range for this project?" * "How much are you looking to invest in this?" * "Do you have a specific budget in mind?" **For Timeline:** * "When do you need this completed?" * "What's your ideal timeline for this project?" * "How quickly are you looking to get started?" ## Using Fields in Your Funnel After creating information fields: 1. Go to **Campaign → Funnel** 2. Add an **Info** node to your conversation flow 3. Select which information field to collect 4. The AI will ask for that information during conversations ### Example Conversation Flow ``` Talk: "Hi! I'd love to learn more about your project." ↓ Info: Collect "Project Type" ↓ Info: Collect "Budget Range" ↓ Info: Collect "Timeline" ↓ Condition: If budget > $10,000 → Book Meeting ``` ## Best Practices ### **Field Creation** * **Use clear titles**: "Budget" instead of "How much money" * **Write specific descriptions**: Tell the AI exactly what to ask for * **Add multiple examples**: Give the AI different ways to ask the same question * **Order by importance**: Create the most critical qualification fields first ### **Question Examples** * **Be conversational**: "What's your budget?" not "Provide budget information" * **Offer context**: "To help me recommend the right solution, what's your budget range?" * **Make it natural**: Write how you would ask in person ### **Multiple Choice Options** * **Cover all scenarios**: Include options that capture most possible responses * **Use clear labels**: Make options easy to understand * **Keep keys simple**: Use underscores, no spaces (e.g., `high_priority`, `low_priority`) * **Add an "other" option**: For responses that don't fit predefined choices ## Field Examples by Industry ### **Web Design Agency** * **Project Type** (Multiple Choice): New Website, Redesign, E-commerce, Landing Page * **Budget Range** (Multiple Choice): Under $5K, $5K-15K, \$15K+ * **Timeline** (Text): "When do you need this completed?" * **Current Website** (Text): "Do you have an existing website? If so, what's the URL?" ### **Business Consultant** * **Company Size** (Number): "How many employees does your company have?" * **Annual Revenue** (Multiple Choice): Under $1M, $1M-5M, \$5M+ * **Main Challenge** (Text): "What's your biggest business challenge right now?" * **Urgency** (Multiple Choice): Urgent, Within 3 months, No rush ### **Real Estate Agent** * **Budget Range** (Multiple Choice): Under $300K, $300K-500K, \$500K+ * **Home Type** (Multiple Choice): Single Family, Condo, Townhouse * **Timeline** (Multiple Choice): Ready Now, Within 6 months, Just Looking * **Location Preference** (Text): "What areas or neighborhoods interest you?" ## Required vs Optional Fields **Required Fields**: AI will keep asking until it gets an answer * Use for critical qualification information * Essential for determining if someone is a good fit **Optional Fields**: AI asks once, moves on if no response * Nice-to-have information * Additional context that helps but isn't mandatory ## Viewing Collected Information Once leads start conversations: 1. Go to **Leads** section 2. Click on any lead to see their conversation 3. View all collected information in an organized format 4. Export or integrate this data with your CRM Your information fields become the foundation for qualifying leads and understanding their needs through automated WhatsApp conversations! Start with 3-5 essential fields. You can always add more later as you refine your qualification process. # Options Source: https://docs.whappy.ai/campaign/options Configure when your campaign sends messages with timezone and operating hours settings The Options tab controls **when** your WhatsApp campaign is active and sending messages to leads. This ensures you only contact prospects during appropriate business hours and respects different time zones. ## Campaign Timezone Set the timezone for your campaign operations. **How it works:** * All operating hours are based on this timezone * Choose the timezone where your business operates * Leads will receive messages according to this schedule, regardless of their location **Example:** ``` Business in New York → Select "America/New_York (EST/EDT)" Business in London → Select "Europe/London (GMT/BST)" Business in Sydney → Select "Australia/Sydney (AEST/AEDT)" ``` The timezone affects when messages are sent, not the content. Choose your business timezone, not your leads' timezones. ## Operating Hours Configure which days and times your campaign sends messages. ### Day Selection **Enable/Disable Days:** * Toggle each day on/off using the checkbox * Disabled days = no messages sent * Enabled days = messages sent during specified hours **Typical Schedules:** * **Business Days Only**: Monday-Friday enabled, weekends disabled * **Full Week**: All days enabled with different weekend hours * **Custom**: Any combination based on your business needs ### Time Ranges **Set Hours for Each Day:** * **Start Time**: When to begin sending messages * **End Time**: When to stop sending messages * Times are in 24-hour format (9:00 = 9 AM, 17:00 = 5 PM) **Example Schedules:** **Standard Business Hours:** ``` Monday-Friday: 9:00 AM to 5:00 PM Saturday-Sunday: Disabled ``` **Extended Hours:** ``` Monday-Friday: 8:00 AM to 7:00 PM Saturday: 10:00 AM to 4:00 PM Sunday: Disabled ``` **International Business:** ``` Monday-Friday: 6:00 AM to 10:00 PM Saturday-Sunday: 9:00 AM to 6:00 PM ``` ## How Operating Hours Work ### Message Timing * **During Hours**: Messages sent immediately when leads respond * **Outside Hours**: Messages queued until next operating period * **Conversations**: Ongoing chats pause when hours end, resume when they begin ### Lead Experience * Leads receive natural response times during your business hours * No messages sent late at night or on disabled days * Conversations feel professional and respectful ### Queue Management * Messages queued outside hours are sent when operations resume * Order preserved for fair lead handling * No messages lost due to timing restrictions ## Best Practices ### Timezone Selection * **Match Your Location**: Use your business's primary timezone * **Be Consistent**: Don't change timezone frequently once set * **Consider Coverage**: If serving multiple zones, choose your main office time ### Operating Hours * **Respect Boundaries**: Don't send messages too early or late * **Match Expectations**: Align with when leads expect business contact * **Test Different Hours**: Monitor response rates at different times * **Cultural Awareness**: Consider local business customs in your market ### Schedule Planning * **Start Conservative**: Begin with standard business hours * **Expand Gradually**: Add hours based on response patterns * **Monitor Performance**: Track when leads are most responsive * **Adjust Seasonally**: Different hours may work better at different times of year ## Common Schedule Examples ### Professional Services ``` Monday-Friday: 9:00 AM - 6:00 PM Saturday: 10:00 AM - 2:00 PM Sunday: Disabled Timezone: Your business location ``` ### E-commerce/Retail ``` Monday-Friday: 8:00 AM - 8:00 PM Saturday-Sunday: 10:00 AM - 6:00 PM Timezone: Primary market timezone ``` ### Global/SaaS Business ``` Monday-Friday: 6:00 AM - 10:00 PM Saturday-Sunday: 8:00 AM - 8:00 PM Timezone: Company headquarters ``` ### Local Services ``` Monday-Friday: 8:00 AM - 6:00 PM Saturday: 9:00 AM - 3:00 PM Sunday: Disabled Timezone: Local timezone ``` ## Important Notes ### Campaign Behavior * **Active Campaign Required**: Hours only apply when your campaign is running * **Immediate Effect**: Changes apply to new messages immediately * **Existing Conversations**: Ongoing chats follow the new schedule ### Technical Details * Hours are inclusive (9:00 AM start means messages can send at 9:00 AM) * End times are exclusive (5:00 PM end means last message at 4:59 PM) * System processes queued messages within minutes of hours beginning Changing timezone affects all scheduled messages. Be careful when adjusting timezone for active campaigns. ## Saving Changes Remember to **Save** your settings before leaving the Options tab: * Unsaved changes are highlighted with visual indicators * You'll be prompted to save when navigating away * Settings take effect immediately after saving Start with standard business hours and monitor your conversation analytics to find the optimal schedule for your leads. # Cal.com Source: https://docs.whappy.ai/integrations/cal Automatically book appointments with qualified leads using your Cal.com calendar Cal.com integration allows your WhatsApp AI assistant to automatically book appointments with qualified leads based on your real-time availability. Instead of manual back-and-forth scheduling, leads can book meetings directly through your conversation funnel. ## How It Works When a lead reaches a **Book Meeting** node in your conversation funnel: 1. **AI checks availability** on your Cal.com calendar in real-time 2. **Offers available time slots** to the lead via WhatsApp 3. **Books the appointment** automatically when the lead selects a time 4. **Sends confirmation** to both you and the lead This creates a seamless experience where qualified leads can book meetings without leaving the WhatsApp conversation. ## Setting Up Cal.com Integration ### 1. Get Your Cal.com API Key First, you'll need to generate an API key from your Cal.com account: 1. Log into your [Cal.com account](https://cal.com) 2. Go to **Settings** → **Developer** → **API Keys** 3. Click **"Create New API Key"** 4. Copy the generated API key Keep your API key secure. Anyone with this key can access your calendar information and book appointments. ### 2. Configure in Whappy 1. Navigate to **Integrations → Cal.com** in your Whappy dashboard 2. Paste your API key in the **API Key** field 3. Click **Save** to connect your account Once configured successfully, you'll see a green confirmation message indicating Cal.com is ready to use. ### 3. Prepare Your Cal.com Events Make sure your Cal.com event types are properly configured: * **Set as Public**: Events must be publicly bookable * **Enable Booking**: Ensure booking is allowed for the events you want to use * **Configure Duration**: Set appropriate meeting lengths (15min, 30min, 1hr, etc.) * **Set Availability**: Define your available hours and days Create specific event types for different types of leads (e.g., "Sales Demo - 30min", "Consultation Call - 45min") to better organize your calendar. ## Using Cal.com in Your Funnel ### Adding Book Meeting Nodes In your **Campaign → Funnel** builder: 1. Drag a **Book Meeting** node into your conversation flow 2. Configure the node settings: * **Select Calendar Event**: Choose which Cal.com event type to use * **Message Text**: Customize what the AI says when offering booking * **Confirmation Message**: Set what leads see after booking ### Example Funnel Flow ``` Talk Node: "What's your budget for this project?" ↓ Condition Node: Budget > $5,000? ↓ (Yes) Book Meeting Node: "Great! Let's schedule a call to discuss your project in detail." ↓ Close Node: "Thanks! I've sent you a calendar invite. Looking forward to our call!" ``` ### AI Conversation Example Here's how the booking conversation might look: **AI**: "Based on your needs, I'd love to schedule a 30-minute consultation call. I have availability this week:" **AI**: "• Tomorrow (Jan 16) at 2:00 PM" **AI**: "• Thursday (Jan 18) at 10:00 AM" **AI**: "• Friday (Jan 19) at 3:30 PM" **Lead**: "Thursday at 10 AM works for me" **AI**: "Perfect! I've booked you for Thursday, January 18th at 10:00 AM. You'll receive a calendar invite shortly with the meeting details." ## Benefits of Cal.com Integration ### **Real-time Availability** * No double-bookings or scheduling conflicts * Always shows current available slots * Respects your calendar settings and blocked times ### **Automatic Booking** * Leads can book instantly without waiting for human response * Reduces friction in the sales process * Works 24/7, even when you're offline ### **Professional Experience** * Seamless integration within WhatsApp conversation * Automatic calendar invites and reminders * Consistent booking experience for all leads ### **Calendar Management** * All bookings appear in your Cal.com calendar * Integrates with Google Calendar, Outlook, and other calendar apps * Maintains your existing calendar workflow ## Advanced Configuration ### Multiple Event Types You can set up different Cal.com event types for different scenarios: * **Discovery Call** (15 minutes) - For initial lead qualification * **Product Demo** (30 minutes) - For interested prospects * **Strategy Session** (60 minutes) - For high-value leads Then use different **Book Meeting** nodes in your funnel based on lead qualification level. ### Conditional Booking Use **Condition** nodes before **Book Meeting** nodes to qualify leads: ``` Condition: Budget > $10,000? ├─ Yes → Book "Strategy Session" (60 min) └─ No → Book "Quick Call" (15 min) ``` ### Buffer Time Configure buffer time in Cal.com to: * Prevent back-to-back bookings * Allow travel time between meetings * Give yourself preparation time ## Troubleshooting ### **Meeting node not working?** * Verify your Cal.com API key is correct * Check that your event types are set to "Public" * Ensure booking is enabled for the selected event ### **No available times showing?** * Check your Cal.com availability settings * Verify your calendar isn't fully booked * Make sure the event duration fits your available slots ### **Leads not receiving calendar invites?** * Confirm email integration is set up in Cal.com * Check that leads provided valid email addresses * Verify your Cal.com notification settings ## Best Practices ### **Event Type Setup** * Use clear, descriptive names for your event types * Set appropriate meeting durations based on conversation type * Include meeting descriptions and preparation instructions ### **Availability Management** * Keep your Cal.com availability updated * Use buffer times to avoid scheduling conflicts * Set working hours that match your actual availability ### **Funnel Design** * Only offer booking to qualified leads * Use condition nodes to route different lead types to appropriate meeting lengths * Provide clear context about what the meeting will cover ### **Follow-up Process** * Set up automatic reminder emails in Cal.com * Prepare meeting agendas based on lead information collected * Have a process for no-shows and rescheduling ## Integration Benefits Cal.com integration transforms your lead qualification process by: * **Reducing Manual Work**: No more back-and-forth scheduling emails * **Increasing Conversion**: Qualified leads can book immediately while interested * **Improving Experience**: Professional, seamless booking process * **Scaling Outreach**: Handle booking for hundreds of leads automatically Ready to set up automated appointment booking? Head to **Integrations → Cal.com** to get started! Need help? Check our [troubleshooting guide](/support/troubleshooting) or [contact support](/support/contact-support). # Calendly Source: https://docs.whappy.ai/integrations/calendly Connect your Calendly account to enable automatic appointment booking in WhatsApp conversations Connect your Calendly account to let qualified leads book appointments directly through your WhatsApp conversations. The AI will automatically check your availability and handle the booking process. ## How It Works When leads reach a **Book Meeting** node in your conversation funnel: 1. **AI offers available times** from your Calendly calendar 2. **Lead selects preferred time** via WhatsApp 3. **Meeting is booked automatically** 4. **Both parties receive confirmation** No more back-and-forth scheduling messages - everything happens seamlessly in the conversation. ## Connecting Your Account ### Requirements * **Calendly Premium** or higher plan * Active Calendly account with event types set up ### Connection Steps 1. Go to **Integrations → Calendly** in your Whappy dashboard 2. Click **"Connect Calendly Account"** 3. You'll be redirected to Calendly to authorize the connection 4. Once connected, return to Whappy to see your event types The connection uses secure OAuth authentication - Whappy never sees your Calendly password. ## Managing Event Types After connecting, you'll see all your active Calendly event types with: * **Event Name**: The title of your meeting type * **Duration**: How long the meeting lasts * **Description**: Details about the meeting (if set) ### Refreshing Event Types If you create new event types in Calendly or make changes: 1. Go to the **Event Types** tab 2. Click **"Refresh"** to sync the latest events 3. New events will be available in your funnel builder ## Using Calendly in Your Funnel ### Adding Book Meeting Nodes In your **Campaign → Funnel** builder: 1. Add a **Book Meeting** node to your conversation flow 2. Select which **Calendly event type** to use for booking 3. Customize the message the AI sends when offering appointments ### Example Flow ``` Talk: "What's your project timeline?" ↓ Condition: "Within 3 months?" ↓ (Yes) Book Meeting: "Let's schedule a 30-minute strategy call to discuss your project." ↓ Close: "Perfect! You'll receive a calendar invite shortly." ``` ## Benefits ### **Automatic Availability** * Shows only your actual available time slots * Prevents double-booking * Updates in real-time with your calendar ### **Seamless Experience** * Leads book without leaving WhatsApp * No need to share calendar links manually * Professional booking process ### **Time Savings** * Eliminates scheduling back-and-forth * Works 24/7, even when you're offline * Qualified leads can book immediately ## Best Practices ### **Event Type Setup** * Use clear, descriptive names for your events * Set appropriate meeting lengths based on lead type * Add meeting descriptions to set expectations ### **Funnel Strategy** * Only offer booking to qualified leads * Use different event types for different lead values: * **15 min**: Quick discovery calls * **30 min**: Product demos * **60 min**: Strategy sessions ### **Availability Management** * Keep your Calendly availability updated * Set buffer time between meetings * Use working hours that match your actual schedule ## Troubleshooting ### **Can't connect account?** * Make sure you have Calendly Premium or higher * Try using an incognito/private browser window * Clear your browser cache and cookies ### **Event types not showing?** * Check that events are active in your Calendly account * Click "Refresh" in the Event Types tab * Verify events are set to allow booking ### **Booking not working in funnel?** * Ensure your Calendly account is still connected * Check that the selected event type is still active * Verify your availability settings in Calendly ## Managing Your Connection ### **Viewing Connection Status** Your Calendly connection status is shown in the integration settings. A green checkmark indicates successful connection. ### **Disconnecting** If you need to disconnect your account: 1. Go to **Integrations → Calendly** 2. Click **"Disconnect Account"** 3. Confirm the disconnection Disconnecting will stop all Book Meeting nodes using Calendly from working until you reconnect. ## Getting Started Ready to enable automatic appointment booking? 1. **Connect your account** in Integrations → Calendly 2. **Add Book Meeting nodes** to your conversation funnel 3. **Select appropriate event types** for different lead scenarios 4. **Test your funnel** to ensure booking works correctly Your WhatsApp conversations will now seamlessly convert qualified leads into booked meetings! Need help? Check our [troubleshooting guide](/support/troubleshooting) or [contact support](/support/contact-support). # Webhook Source: https://docs.whappy.ai/integrations/webhook Add leads to your Whappy campaign automatically using webhooks Webhooks provide an automated way to add leads to your Whappy campaigns. Instead of manually importing leads or using other integrations, you can send lead data directly to Whappy via HTTP POST requests. ## When to Use Webhooks Webhooks are perfect for: * **Website Forms**: Automatically add leads when someone fills out a contact form * **Custom Applications**: Integrate with your existing software systems * **Third-party Tools**: Connect services that aren't directly supported * **Real-time Lead Import**: Add leads immediately as they're generated ## Setting Up Your Webhook ### 1. Get Your API Key Navigate to **Integrations → Webhook** in your Whappy dashboard to find your unique API key. This key authenticates your requests and ensures leads are added to your account. Keep your API key secure and never share it publicly. Anyone with this key can add leads to your account. ### 2. API Endpoint Send POST requests to: ``` POST https://api.whappie.com/v1/lead ``` ### 3. Required Headers Include these headers in your requests: ``` Content-Type: application/json X-API-Key: your-api-key-here ``` ## Request Format ### Required Fields * **name**: Lead's full name * **phone**: Lead's phone number (including country code) ### Optional Fields * **email**: Lead's email address * **company**: Lead's company name * **source**: Where the lead came from (e.g., "Website", "Facebook") * **custom\_fields**: Additional data as key-value pairs ### Example Request Body ```json theme={null} { "name": "John Doe", "phone": "+1234567890", "email": "john@example.com", "company": "Acme Inc.", "source": "Website", "custom_fields": { "budget": "10000", "interest": "Product A" } } ``` ## Code Examples ```bash theme={null} curl -X POST https://api.whappie.com/v1/lead \ -H "Content-Type: application/json" \ -H "X-API-Key: your-api-key-here" \ -d '{ "name": "John Doe", "phone": "+1234567890", "email": "john@example.com", "company": "Acme Inc.", "source": "Website" }' ``` ```javascript theme={null} fetch('https://api.whappie.com/v1/lead', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-API-Key': 'your-api-key-here' }, body: JSON.stringify({ name: 'John Doe', phone: '+1234567890', email: 'john@example.com', company: 'Acme Inc.', source: 'Website' }) }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` ```python theme={null} import requests import json url = "https://api.whappie.com/v1/lead" headers = { "Content-Type": "application/json", "X-API-Key": "your-api-key-here" } payload = { "name": "John Doe", "phone": "+1234567890", "email": "john@example.com", "company": "Acme Inc.", "source": "Website" } response = requests.post(url, headers=headers, data=json.dumps(payload)) print(response.json()) ``` ## Response Format ### Successful Response ```json theme={null} { "status": "success", "data": { "id": "lead_12345", "name": "John Doe", "phone": "+1234567890", "created_at": "2025-01-15T10:30:00Z" } } ``` ### Error Response ```json theme={null} { "status": "error", "message": "Invalid phone number format" } ``` ## Using Custom Fields Custom fields you include in your webhook payload can be used as variables in your WhatsApp message templates. For example: If you send: ```json theme={null} { "name": "John Doe", "phone": "+1234567890", "custom_fields": { "budget": "50000", "timeline": "3 months" } } ``` You can use `{{budget}}` and `{{timeline}}` in your WhatsApp templates: ``` Hi {{name}}, I see you're looking for a solution with a {{budget}} budget and {{timeline}} timeline. Let's discuss! ``` ## Testing Your Webhook 1. **Use the API Key from your dashboard** 2. **Test with a simple cURL request** to verify connectivity 3. **Check the Leads section** to confirm the lead was added 4. **Verify your campaign processes the lead** correctly Start with a simple test request using just the required fields (name and phone) before adding custom fields. ## Common Use Cases ### Website Contact Forms Add this JavaScript to your website forms: ```javascript theme={null} // After form submission const formData = { name: document.getElementById('name').value, phone: document.getElementById('phone').value, email: document.getElementById('email').value, source: 'Website Contact Form' }; // Send to Whappy fetch('https://api.whappie.com/v1/lead', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-API-Key': 'your-api-key-here' }, body: JSON.stringify(formData) }); ``` ## Security Best Practices * **Use HTTPS only** for all webhook requests * **Store API keys securely** (environment variables, not in code) * **Validate data** before sending to prevent errors * **Handle errors gracefully** in your application * **Monitor webhook usage** to detect unusual activity ## Troubleshooting **Lead not appearing?** * Check your API key is correct * Verify the phone number format includes country code * Ensure your campaign is running **Getting errors?** * Confirm all required fields are included * Check the request format matches the examples * Verify your API key has the correct permissions Need help? Check our [troubleshooting guide](/support/troubleshooting) or [contact support](/support/contact-support). # WhatsApp Source: https://docs.whappy.ai/integrations/whatsapp Connect your WhatsApp Business account to send automated messages to leads WhatsApp integration is the core of your Whappy automation. It allows your AI assistant to send and receive messages with leads through your WhatsApp Business account. ## Getting Started ### Requirements * **WhatsApp Business Account** (not personal WhatsApp) * **Meta Business Manager** access * **WhatsApp Business API** subscription ### What You'll Need * **WhatsApp Number ID**: Your business phone number ID from Meta * **Business Account ID**: Your Meta Business Account ID * **API Token**: Authentication token from Meta Business Platform ## Connecting Your Account 1. Navigate to **Integrations → WhatsApp** in your Whappy dashboard 2. Go to the **Basic Settings** tab 3. Enter your credentials: * **WhatsApp Number ID** from Meta Business Platform * **Meta Business Account ID** * **API Token** for authentication 4. Click **Test Connection** to verify everything works 5. Click **Save Settings** once the test passes Keep your API token secure. Anyone with this token can send messages from your WhatsApp Business account. ## Creating Message Templates WhatsApp requires **approved templates** for starting conversations with leads. You cannot send initial messages without approved templates. ### Adding Templates 1. Go to the **Message Templates** tab 2. Click **"Add Template"** 3. Fill in the template details: * **Template Name**: Use underscores, no spaces (e.g., `welcome_message`) * **Language**: Select the language for your template * **Category**: Choose Utility (for business messages) or Marketing * **Message**: Write your template text ### Using Parameters Make templates dynamic with parameters in double curly braces: ``` Hello {{user_name}}, welcome to {{business_name}}! How can I help you today? ``` **Parameters you can use:** * `{{user_name}}` - Lead's name * `{{business_name}}` - Your business name * `{{budget}}` - Lead's budget (if collected) * Any custom field from your lead data ### Template Example **Template Name**: `welcome_message` **Category**: Utility **Message**: ``` Hi {{user_name}}! This is {{business_name}}. I saw you're interested in our services. What's the best way I can help you today? ``` ### Template Approval Process 1. **Submit**: Click "Save Templates" to submit for approval 2. **Review**: Meta reviews your template (usually 24-48 hours) 3. **Status**: Templates show as Pending → Approved or Rejected 4. **Use**: Only approved templates can be used in campaigns Create templates that sound natural and provide value. Avoid overly promotional language to increase approval chances. ## Using Templates in Your Funnel ### Selecting Templates Templates are used in the **starter node** of your conversation funnel: 1. Go to **Campaign → Funnel** 2. Click on the **Start** node (first node in your funnel) 3. Select an **approved template** from the dropdown 4. The template text becomes your welcome message ### Template Preview When you select a template, you'll see a preview showing exactly what message leads will receive. ## Template Categories ### **Utility Templates** * For business communications * Customer service messages * Appointment confirmations * Follow-ups **Example**: ``` Hi {{user_name}}, thanks for your interest in our {{service_type}}. Let's schedule a quick call to discuss your needs. ``` ### **Marketing Templates** * Promotional content * Product announcements * Special offers **Example**: ``` {{user_name}}, we have a special offer on {{service_type}} this month. Would you like to learn more? ``` ## Best Practices ### **Template Creation** * Use clear, conversational language * Include the recipient's name when possible * Avoid excessive emojis or promotional language * Test templates with different parameter values ### **Parameter Usage** * Always provide example values for parameters * Use parameters from your lead information fields * Keep parameter names descriptive and consistent ### **Approval Tips** * Submit templates that provide clear value to recipients * Avoid spam-like language or excessive sales pitches * Include your business name for transparency * Make sure templates make sense without prior context ## Managing Templates ### **Viewing Template Status** Templates show one of three statuses: * **🟡 Pending**: Submitted for Meta review * **🟢 Approved**: Ready to use in campaigns * **🔴 Rejected**: Needs revision and resubmission ### **Editing Templates** * **New templates**: Can be edited before saving * **Existing templates**: Are read-only once submitted * **Rejected templates**: Delete and create new ones with revisions ### **Template Limits** * You can create multiple templates for different scenarios * Only approved templates appear in the funnel builder * Templates are shared across all your campaigns ## Testing Your Integration ### **Connection Test** Use the "Test Connection" button to verify: * Your credentials are correct * WhatsApp API is accessible * Account permissions are properly set ### **Template Testing** Before going live: 1. Create and get approval for at least one template 2. Set up a simple funnel using the approved template 3. Test with a personal phone number first 4. Verify messages send and receive correctly ## Troubleshooting ### **Connection Issues** * Double-check your WhatsApp Number ID and Business Account ID * Verify your API token is current and has proper permissions * Make sure your WhatsApp Business account is active ### **Template Problems** * **Not appearing in funnel**: Check if template is approved * **Rejection**: Revise language to be less promotional/spammy * **Parameters not working**: Verify parameter names match your lead fields exactly ### **Message Sending Issues** * Confirm template is approved and selected in starter node * Check that your campaign is running and leads are being processed * Verify recipient phone numbers include country codes Ready to connect WhatsApp? Head to **Integrations → WhatsApp** to get started! Need help? Check our [troubleshooting guide](/support/troubleshooting) or [contact support](/support/contact-support). # Zapier Source: https://docs.whappy.ai/integrations/zapier Connect Whappy with 6,000+ apps to automate your lead workflow. Send qualified leads to your CRM or receive new leads from forms and ads. Connect Whappy with over 6,000 apps through Zapier to automate your lead workflow. Send qualified leads to your CRM automatically, or receive new leads from forms and ads to start WhatsApp conversations. ## How It Works **Whappy → Other Apps**: When leads complete conversations or book appointments, automatically send their information to CRM, email tools, calendars, etc. **Other Apps → Whappy**: When you get new leads from forms, ads, or other sources, automatically add them to Whappy to start WhatsApp conversations. *** ## Setting Up Actions (Receive Leads In) Use actions to automatically add new leads to Whappy from your other business tools and start WhatsApp conversations. ### Step-by-Step Setup 1. Create a new Zap in Zapier 2. Choose your lead source as the trigger (Typeform, Facebook Lead Ads, Google Sheets, etc.) 3. Connect your account and configure the trigger 4. Test the trigger to ensure it's working properly 1. In the action section, search for **"Whappy"** 2. Select **Whappy** from the app results 3. Choose **Create Lead** as the action event 4. Click **Continue**
Setup action
1. Click **Sign in to Whappy** 2. Copy your API key from **Integrations → Zapier** in your Whappy dashboard 3. Paste the API key in Zapier 4. Add an Account Label (add your account name to recognize if you have multiple account connected) 5. Click **Yes, Continue to Whappy** Connect Whappy account for actions Paste api-key in Zapier Use the same API key you used for triggers. You only need to connect your account once. Map the fields from your trigger app to Whappy. Here are the available fields: **Required Fields:** * **Phone** *(must include country code, e.g., +1234567890)* * **First Name** **Optional Fields:** * **Email** * **Lead Data** *(JSON format for custom information)* * **Is Test Lead** *(choose "No" for real leads, "Yes" for testing)*
Configure lead data fields in Zapier action
Phone numbers must include the country code (e.g., +1 for US) to work with WhatsApp.
1. Click **Test action** to send a sample lead to Whappy 2. Check your Whappy dashboard under **Leads** to confirm the lead was created 3. If the test succeeds, turn on your Zap to start receiving leads automatically
Test action and verify lead creation
### Popular Action Use Cases **Setup**: * **Trigger**: New Typeform/Gravity Forms submission * **Action**: Create Lead in Whappy **Benefits**: * Instant WhatsApp follow-up for form submissions * Higher response rates than email * Automated qualification process starts immediately **Setup**: * **Trigger**: New Facebook Lead Ad submission * **Action**: Create Lead in Whappy **Benefits**: * Qualify ad leads immediately via WhatsApp * Reduce cost per qualified lead * Filter out unqualified prospects early **Setup**: * **Trigger**: New/Updated contact in CRM * **Action**: Create Lead in Whappy **Benefits**: * Re-engage cold leads with WhatsApp * Follow up on sales opportunities * Nurture prospects with conversational AI *** ## Setting Up Triggers (Send Leads Out) Use triggers to automatically send qualified lead data from Whappy to your other business tools when conversations complete or appointments are booked. ### Available Triggers * **Lead Closed**: Fires when a lead successfully completes your conversation funnel * **Appointment Scheduled**: Fires when a lead books an appointment through your conversation ### Step-by-Step Setup 1. Go to [zapier.com](https://zapier.com) and click **Create Zap** 2. In the trigger section, search for **"Whappy"** 3. Select **Whappy** from the app results Search for Whappy in Zapier triggers Choose the trigger that matches your workflow: * **Lead Closed**: Use this to send completed/qualified leads to your CRM or email marketing tools * **Appointment Scheduled**: Use this to create calendar events or send confirmation emails
Select trigger event in Zapier
1. Click **Sign in to Whappy** 2. In your Whappy dashboard, navigate to **Integrations → Zapier** 3. Copy your API key from the Zapier integration card 4. Return to Zapier and paste the API key in the connection form 5. Click **Yes, Continue to Whappy** Connect Whappy account in Zapier Paste api-key in Zapier Click **Continue**. Your API key is unique to your account. Keep it secure and don't share it publicly. 1. Click **Test trigger** to pull in sample data from Whappy 2. You'll see the lead data structure that will be sent to your next app 3. Review the sample data and click **Continue**
Test trigger and view sample data
If no sample data appears, make sure you have at least one completed conversation or appointment in Whappy.
1. Choose the app you want to send data to (HubSpot, Google Calendar, Mailchimp, etc.) 2. Connect your account for the chosen app 3. Map the Whappy fields to your target app fields 4. Test the complete Zap 5. Turn on your Zap to start the automation
### Popular Trigger Use Cases **Setup**: * **Trigger**: Lead Closed * **Action**: Create Contact in CRM **Field Mapping Example**: * Whappy "Name" → CRM "First Name" / "Last Name" * Whappy "Phone" → CRM "Phone Number" * Whappy "Email" → CRM "Email Address" * Whappy "Collected Info" → CRM Custom Properties **Benefits**: Automatically populate your CRM with qualified leads and their conversation data. **Setup**: * **Trigger**: Appointment Scheduled * **Action**: Create Google Calendar Event **Field Mapping Example**: * Whappy "Appointment Date" → Calendar "Event Start Time" * Whappy "Lead Name" → Calendar "Event Title" * Whappy "Phone" → Calendar "Event Description" **Benefits**: Automatically block time in your calendar when leads book appointments through WhatsApp. **Setup**: * **Trigger**: Lead Closed * **Action**: Add Subscriber to Mailchimp/ConvertKit **Field Mapping Example**: * Whappy "Email" → Email Tool "Subscriber Email" * Whappy "Name" → Email Tool "Subscriber Name" * Whappy "Collected Info" → Email Tool Tags/Custom Fields **Benefits**: Automatically nurture qualified leads with targeted email sequences. *** ## Managing Your API Key Your Zapier API key is found in **Integrations → Zapier** in your Whappy dashboard. This same key works for both triggers and actions. ### API Key Security * Don't share your API key publicly * Only use it in trusted Zapier automations * Contact support if you suspect it's compromised * Check Zapier task history regularly * Review new leads in Whappy dashboard * Monitor for unexpected activity *** ## Troubleshooting **Problem**: "Failed to connect to Whappy" error **Solutions**: * Double-check you copied the complete API key from Whappy * Ensure no extra spaces before or after the key * Try disconnecting and reconnecting your account in Zapier * Verify you're using the correct API key from the Zapier integration card **Problem**: No data being sent when leads complete conversations **Solutions**: * Verify your Zap is turned **ON** in Zapier * Check that leads are actually reaching the close or appointment steps in your funnel * Test with real conversations, not test mode data * Review Zapier task history for error messages * Ensure your campaign is running (not stopped) **Problem**: "Failed to create lead" error **Solutions**: * Ensure phone number includes country code (+1234567890) * Verify both Phone and First Name fields are properly mapped * Check that the phone number format is valid for WhatsApp * Try testing with just the required fields first * Ensure the lead data is in proper JSON format if using custom fields **Problem**: Leads created but missing information **Solutions**: * Check your field mapping in the Zapier action setup * Ensure your source app is providing the expected data * Test with static values before using dynamic data from triggers * Verify JSON format for the Lead Data field * Check if optional fields are actually being provided by the trigger *** ## Best Practices ### Getting Started * **Start simple**: Begin with basic automations before adding complexity * **Test thoroughly**: Always test with sample data before going live * **Use test leads**: Mark leads as "test" during setup to avoid affecting real data * **Monitor early**: Check your automations frequently in the first few days ### Workflow Optimization * **Use filters**: Add Zapier filters to process only relevant leads (e.g., specific budgets, sources) * **Separate Zaps**: Create different Zaps for different lead sources rather than complex multi-step workflows * **Error handling**: Set up email notifications for failed Zapier tasks * **Regular maintenance**: Review and update your Zaps monthly ### Data Quality * **Validate phone numbers**: Ensure phone numbers include country codes and are properly formatted * **Keep data consistent**: Use standardized formats for custom fields across all sources * **Monitor lead quality**: Regularly review leads coming through automation vs. manual entry Start with one simple automation (like sending closed leads to your CRM) before building complex multi-step workflows. This helps you understand the data flow and catch any issues early. *** ## Next Steps Ready to automate your lead workflow? 1. **Get your API key**: Go to **Integrations → Zapier** in your Whappy dashboard 2. **Choose your first automation**: Start with either sending qualified leads to your CRM or receiving leads from your most active lead source 3. **Follow the setup guides**: Use the step-by-step instructions above 4. **Test and monitor**: Always test thoroughly before going live Send qualified leads to your CRM automatically Add form submissions to Whappy for WhatsApp follow-up # Zapier Developer API Source: https://docs.whappy.ai/integrations/zapier-developer Complete API reference for building Zapier integrations with Whappy AI. Configure webhooks, handle events, and manage data flow. ## Base URL ``` https://api.whappy.ai/v1 ``` ## Authentication All API requests require authentication using an API key. Include your API key in the request headers: ```bash theme={null} X-API-Key: your_api_key_here ``` ### Getting Your API Key 1. Log into your Whappy Account 2. Navigate to **Integrations → Zapier** 3. Copy your unique API Key from the integration panel Keep your API key secure and never share it publicly. Treat it like a password. *** ## Endpoints ### Configure Webhook URLs Configure target URLs where Whappy AI will send data when specific events occur in your conversations. #### Set Appointment Webhook URL Configure where to send data when a lead schedules an appointment. ```bash theme={null} POST /zap/url/appointment ``` **Request Body:** ```json theme={null} { "targetUrl": "https://your-webhook-endpoint.com/appointment" } ``` **Headers:** ```bash theme={null} Content-Type: application/json X-API-Key: your_api_key_here ``` **Response Codes:** * `200 OK`: URL successfully configured * `304 Not Modified`: URL update failed * `400 Bad Request`: Invalid request data * `401 Unauthorized`: Missing or invalid API key * `500 Internal Server Error`: Server error **Example Request:** ```bash theme={null} curl -X POST https://api.whappy.ai/v1/zap/url/appointment \ -H "Content-Type: application/json" \ -H "X-API-Key: your_api_key_here" \ -d '{"targetUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/"}' ``` #### Set Close Event Webhook URL Configure where to send data when a lead reaches a "close" step in the conversation. ```bash theme={null} POST /zap/url/close ``` **Request Body:** ```json theme={null} { "targetUrl": "https://your-webhook-endpoint.com/close" } ``` **Example Request:** ```bash theme={null} curl -X POST https://api.whappy.ai/v1/zap/url/close \ -H "Content-Type: application/json" \ -H "X-API-Key: your_api_key_here" \ -d '{"targetUrl": "https://hooks.zapier.com/hooks/catch/123456/ghijkl/"}' ``` #### Remove Appointment Webhook URL Remove the configured webhook URL for appointment events. ```bash theme={null} DELETE /zap/url/appointment ``` **Response Codes:** * `200 OK`: URL successfully removed * `304 Not Modified`: URL removal failed * `401 Unauthorized`: Missing or invalid API key * `500 Internal Server Error`: Server error **Example Request:** ```bash theme={null} curl -X DELETE https://api.whappy.ai/v1/zap/url/appointment \ -H "X-API-Key: your_api_key_here" ``` #### Remove Close Event Webhook URL Remove the configured webhook URL for close events. ```bash theme={null} DELETE /zap/url/close ``` **Example Request:** ```bash theme={null} curl -X DELETE https://api.whappy.ai/v1/zap/url/close \ -H "X-API-Key: your_api_key_here" ``` ### Test Integration #### Test Connection Test your API connection and authentication. Use this endpoint to verify your integration is working correctly. ```bash theme={null} POST /zap ``` **Response Codes:** * `200 OK`: Connection successful * `401 Unauthorized`: Authentication failed **Example Request:** ```bash theme={null} curl -X POST https://api.whappy.ai/v1/zap \ -H "X-API-Key: your_api_key_here" ``` **Success Response:** ```json theme={null} { "status": "success", "message": "Connection verified" } ``` ### Get Sample Data #### Retrieve Sample Data Get a sample of the data structure that will be sent to your webhook URLs. Essential for setting up Zapier workflows. ```bash theme={null} GET /zap/sample/{event_name} ``` **Parameters:** * `event_name`: Either `appointment` or `close` **Example Request:** ```bash theme={null} curl -X GET https://api.whappy.ai/v1/zap/sample/appointment \ -H "X-API-Key: your_api_key_here" ``` **Example Response:** ```json theme={null} [ { "lead_id": "lead_12345", "created_at": "2025-05-22T10:30:00Z", "phone": "+1234567890", "name": "John Doe", "lead_info_json": "{\"source\": \"website\", \"campaign\": \"spring_2025\"}", "collected_info_json": "{\"interests\": [\"product_a\", \"product_b\"], \"budget\": \"$5000\"}", "appointment": { "full_date": "2025-05-25T14:00:00Z" }, "conversation_json": "{\"messages\": [...], \"duration\": 300}", "appointment_json": "{\"type\": \"consultation\", \"location\": \"online\"}" } ] ``` *** ## Data Models ### DataPayload The main data structure sent to your webhook URLs when events occur: | Field | Type | Required | Description | | --------------------- | ----------------------------------------- | -------- | -------------------------------------------------------------- | | `lead_id` | string | Yes | Unique identifier for the lead | | `created_at` | string | Yes | ISO 8601 timestamp when the lead was created | | `phone` | string | Yes | Lead's phone number with country code | | `name` | string | Yes | Lead's full name | | `lead_info_json` | string | No | JSON string containing lead source and campaign information | | `collected_info_json` | string | No | JSON string with information collected during the conversation | | `appointment` | [AppointmentPayload](#appointmentpayload) | No | Appointment details (only for appointment events) | | `conversation_json` | string | No | JSON string containing the full conversation history | | `appointment_json` | string | No | JSON string with detailed appointment information | ### AppointmentPayload Appointment-specific information included in appointment events: | Field | Type | Required | Description | | ----------- | ------ | -------- | ----------------------------------------------- | | `full_date` | string | Yes | ISO 8601 timestamp of the scheduled appointment | ### Parsed JSON Fields The JSON string fields contain structured data that can be parsed: #### lead\_info\_json ```json theme={null} { "source": "website", "campaign": "spring_2025", "utm_source": "google", "utm_medium": "cpc" } ``` #### collected\_info\_json ```json theme={null} { "budget": "$5000", "timeline": "Q2 2025", "interests": ["product_a", "product_b"], "company_size": "50-100", "decision_maker": true } ``` #### conversation\_json ```json theme={null} { "messages": [ { "timestamp": "2025-05-22T10:30:00Z", "sender": "ai", "content": "Hello! How can I help you today?" }, { "timestamp": "2025-05-22T10:31:00Z", "sender": "lead", "content": "I'm interested in your web design services" } ], "duration": 300, "steps_completed": 5 } ``` #### appointment\_json ```json theme={null} { "type": "consultation", "location": "online", "duration": "30 minutes", "calendar_event_id": "cal_12345", "meeting_link": "https://zoom.us/j/123456789" } ``` *** ## Webhook Payload Examples ### Lead Closed Event When a lead successfully completes the conversation funnel: ```json theme={null} { "lead_id": "lead_67890", "created_at": "2025-05-22T14:15:30Z", "phone": "+1987654321", "name": "Jane Smith", "lead_info_json": "{\"source\": \"facebook_ads\", \"campaign\": \"summer_promo\"}", "collected_info_json": "{\"budget\": \"$10000\", \"timeline\": \"Immediate\", \"service_type\": \"ecommerce\"}", "conversation_json": "{\"messages\": [...], \"duration\": 420, \"steps_completed\": 7}", "appointment_json": null } ``` ### Appointment Scheduled Event When a lead books an appointment: ```json theme={null} { "lead_id": "lead_54321", "created_at": "2025-05-22T16:45:00Z", "phone": "+1555123456", "name": "Mike Johnson", "lead_info_json": "{\"source\": \"website\", \"campaign\": \"consultation_page\"}", "collected_info_json": "{\"budget\": \"$7500\", \"timeline\": \"Q3 2025\", \"current_solution\": \"none\"}", "appointment": { "full_date": "2025-05-24T10:00:00Z" }, "conversation_json": "{\"messages\": [...], \"duration\": 380}", "appointment_json": "{\"type\": \"discovery_call\", \"location\": \"zoom\", \"duration\": \"45 minutes\"}" } ``` *** ## Integration Workflow ### 1. Set Up Webhook Endpoints Configure where Whappy should send event data: ```bash theme={null} # Configure appointment webhook curl -X POST https://api.whappy.ai/v1/zap/url/appointment \ -H "Content-Type: application/json" \ -H "X-API-Key: your_api_key" \ -d '{"targetUrl": "https://hooks.zapier.com/hooks/catch/123456/appointment/"}' # Configure close event webhook curl -X POST https://api.whappy.ai/v1/zap/url/close \ -H "Content-Type: application/json" \ -H "X-API-Key: your_api_key" \ -d '{"targetUrl": "https://hooks.zapier.com/hooks/catch/123456/close/"}' ``` ### 2. Test Your Integration Verify your API connection: ```bash theme={null} curl -X POST https://api.whappy.ai/v1/zap \ -H "X-API-Key: your_api_key" ``` ### 3. Get Sample Data Understand the data structure you'll receive: ```bash theme={null} # Get appointment event sample curl -X GET https://api.whappy.ai/v1/zap/sample/appointment \ -H "X-API-Key: your_api_key" # Get close event sample curl -X GET https://api.whappy.ai/v1/zap/sample/close \ -H "X-API-Key: your_api_key" ``` ### 4. Handle Webhook Data In your Zapier webhook handler, you'll receive the DataPayload structure. Parse the JSON fields as needed: ```javascript theme={null} // Example webhook handler (Node.js) app.post('/webhook/whappy-appointment', (req, res) => { const payload = req.body; // Parse JSON fields const leadInfo = JSON.parse(payload.lead_info_json || '{}'); const collectedInfo = JSON.parse(payload.collected_info_json || '{}'); const appointmentInfo = JSON.parse(payload.appointment_json || '{}'); // Process the data console.log('New appointment scheduled:', { leadName: payload.name, phone: payload.phone, appointmentDate: payload.appointment.full_date, budget: collectedInfo.budget, source: leadInfo.source }); res.status(200).send('OK'); }); ``` *** ## Common Use Cases ### CRM Integration Automatically create or update contacts in your CRM: ```javascript theme={null} // Example: Send to HubSpot const hubspotContact = { properties: { firstname: payload.name.split(' ')[0], lastname: payload.name.split(' ')[1], phone: payload.phone, lead_source: JSON.parse(payload.lead_info_json).source, budget: JSON.parse(payload.collected_info_json).budget } }; ``` ### Calendar Integration Add appointments to scheduling systems: ```javascript theme={null} // Example: Create Google Calendar event const calendarEvent = { summary: `Consultation with ${payload.name}`, start: { dateTime: payload.appointment.full_date, timeZone: 'America/New_York' }, description: `Phone: ${payload.phone}\nBudget: ${JSON.parse(payload.collected_info_json).budget}` }; ``` ### Email Marketing Add leads to email sequences: ```javascript theme={null} // Example: Add to Mailchimp list const subscriber = { email_address: JSON.parse(payload.collected_info_json).email, status: 'subscribed', merge_fields: { FNAME: payload.name.split(' ')[0], PHONE: payload.phone, BUDGET: JSON.parse(payload.collected_info_json).budget } }; ``` *** ## Error Handling ### Standard HTTP Status Codes | Code | Description | Action | | ----- | --------------------- | ---------------------------------------- | | `200` | Success | Request completed successfully | | `304` | Not Modified | Resource wasn't modified (for updates) | | `400` | Bad Request | Check request parameters and body format | | `401` | Unauthorized | Verify your API key is correct | | `500` | Internal Server Error | Contact support if persistent | ### Error Response Format ```json theme={null} { "detail": "Description of the error" } ``` ### Common Error Scenarios **Error Response:** ```json theme={null} { "detail": "Invalid authentication credentials" } ``` **Solution:** Verify your API key is copied correctly from the Whappy dashboard. **Error Response:** ```json theme={null} { "detail": "Invalid URL format" } ``` **Solution:** Ensure the webhook URL is properly formatted and accessible. **Error Response:** ```json theme={null} { "detail": "Unable to reach webhook URL" } ``` **Solution:** Verify the webhook endpoint is online and accepting POST requests. *** ## Rate Limits * **General Rate Limit**: 100 requests per minute per API key * **Webhook Configuration**: 10 requests per minute * **Sample Data**: 50 requests per minute If you need higher rate limits for production use, contact our support team with your use case details. *** ## Security Best Practices ### API Key Management * Store API keys securely using environment variables * Never commit API keys to version control * Rotate API keys periodically * Use different API keys for development and production ### Webhook Security * Validate webhook payloads before processing * Use HTTPS endpoints for webhooks * Implement proper error handling and logging * Set up monitoring for webhook failures ### Data Handling * Parse JSON fields safely with try-catch blocks * Validate data types before processing * Sanitize data before storing or forwarding * Respect data privacy regulations (GDPR, CCPA) *** ## Testing Your Integration ### 1. Test API Connection ```bash theme={null} curl -X POST https://api.whappy.ai/v1/zap \ -H "X-API-Key: your_test_api_key" \ -v ``` ### 2. Configure Test Webhooks ```bash theme={null} # Use tools like ngrok for local testing ngrok http 3000 # Configure webhook with ngrok URL curl -X POST https://api.whappy.ai/v1/zap/url/close \ -H "Content-Type: application/json" \ -H "X-API-Key: your_test_api_key" \ -d '{"targetUrl": "https://abc123.ngrok.io/webhook/close"}' ``` ### 3. Validate Sample Data ```bash theme={null} # Get and validate sample data structure curl -X GET https://api.whappy.ai/v1/zap/sample/close \ -H "X-API-Key: your_test_api_key" | jq . ``` ### 4. Monitor Webhook Calls Set up logging in your webhook handler to monitor incoming data: ```javascript theme={null} app.post('/webhook/test', (req, res) => { console.log('Webhook received:', JSON.stringify(req.body, null, 2)); res.status(200).send('OK'); }); ``` *** ## Support For technical support or questions about the API: * **Documentation**: Check our [Help Center](https://help.whappy.ai) * **Dashboard Support**: Contact support through your Whappy AI dashboard * **Email**: [support@whappy.ai](mailto:support@whappy.ai) * **Status Page**: [status.whappy.ai](https://status.whappy.ai) ### When Contacting Support Include the following information: * Your API key (first 8 characters only) * Request/response examples * Error messages and HTTP status codes * Timestamp of the issue * Expected vs. actual behavior *** ## Changelog ### Version 1.0 * Initial release * Support for appointment and close event webhooks * Sample data endpoint * Basic authentication via API key * Webhook URL configuration and management *** ## SDK and Libraries ### Official Libraries We're working on official SDKs for popular languages. In the meantime, here are community examples: ```javascript theme={null} const axios = require('axios'); class WhappyAPI { constructor(apiKey) { this.apiKey = apiKey; this.baseURL = 'https://api.whappy.ai/v1'; } async setAppointmentWebhook(targetUrl) { return axios.post(`${this.baseURL}/zap/url/appointment`, { targetUrl }, { headers: { 'X-API-Key': this.apiKey } } ); } async testConnection() { return axios.post(`${this.baseURL}/zap`, {}, { headers: { 'X-API-Key': this.apiKey } } ); } } ``` ```python theme={null} import requests class WhappyAPI: def __init__(self, api_key): self.api_key = api_key self.base_url = 'https://api.whappy.ai/v1' self.headers = {'X-API-Key': api_key} def set_appointment_webhook(self, target_url): return requests.post( f'{self.base_url}/zap/url/appointment', json={'targetUrl': target_url}, headers=self.headers ) def test_connection(self): return requests.post( f'{self.base_url}/zap', headers=self.headers ) ``` ```php theme={null} apiKey = $apiKey; } public function setAppointmentWebhook($targetUrl) { $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => $this->baseURL . '/zap/url/appointment', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode(['targetUrl' => $targetUrl]), CURLOPT_HTTPHEADER => [ 'Content-Type: application/json', 'X-API-Key: ' . $this->apiKey ], ]); return curl_exec($curl); } } ?> ``` Ready to build your Zapier integration? Start by testing your API connection and exploring the sample data endpoints! # What is Whappy? Source: https://docs.whappy.ai/introduction Learn about Whappy's WhatsApp automation platform for lead qualification and appointment booking. Whappy is a WhatsApp automation platform that helps businesses qualify leads and book appointments through intelligent conversations. Instead of manually messaging each prospect, Whappy's AI assistant handles the initial conversations, asks the right questions, and schedules meetings with qualified leads—all through WhatsApp. The platform is designed for businesses that want to automate their lead qualification process without losing the personal touch of one-on-one conversations. Whether you're a consultant, agency, or service provider, Whappy enables you to scale your outreach while maintaining quality interactions with potential clients. ## How Whappy Works Whappy automates WhatsApp conversations through campaigns that you design. You create a conversation flow that guides leads through qualification questions, and the AI handles the messaging based on your instructions. The process is straightforward: 1. **Create a campaign** with your business context and conversation objectives 2. **Define what information** you want to collect from leads (budget, timeline, needs, etc.) 3. **Build a conversation funnel** using visual nodes that determine how the AI responds 4. **Connect your WhatsApp Business account** to send and receive messages 5. **Add leads** to your campaign and let the AI qualify them automatically When a lead receives a message, the AI engages them in natural conversation, asks qualifying questions, and can even book appointments directly through your calendar integration. You receive notifications when leads are qualified and ready for follow-up. ## Key Benefits **Automated Lead Qualification**: The AI asks the right questions to determine if prospects are a good fit for your business, saving you time on unqualified leads. **24/7 Availability**: Your AI assistant works around the clock, engaging leads in different time zones and responding instantly to inquiries. **Personal Touch**: Conversations happen through WhatsApp, which feels more personal than email or forms, leading to higher engagement rates. **Appointment Booking**: Qualified leads can book meetings directly through the conversation, eliminating back-and-forth scheduling messages. **Scalable Outreach**: Handle hundreds of conversations simultaneously without additional staff or manual effort. **Easy Setup**: No coding required. Use the visual campaign builder to create sophisticated conversation flows in minutes. Whappy bridges the gap between personal outreach and scalable automation, helping businesses grow their pipeline while maintaining the quality of their lead qualification process. # Leads Source: https://docs.whappy.ai/leads/overview Manage and track your WhatsApp conversation leads and their qualification status The Leads page is your central hub for managing all contacts that have engaged with your WhatsApp campaigns. Here you can view conversation history, track qualification progress, and manage lead information. ## Lead Overview Table ### Lead Information Displayed **Contact Details:** * **Name**: Lead's full name * **Phone Number**: WhatsApp number used for conversations * **Email**: Email address (if provided) * **Tags**: Custom labels for organizing leads **Status Indicators:** * **Conversation**: ✅ Has messages / ❌ No conversation yet * **Appointment**: 📅 Meeting scheduled / ❌ No appointment **Actions:** * **💬 View Conversation**: See WhatsApp chat history and collected information * **ℹ️ View Lead Info**: See detailed lead profile and edit information ### Search and Filtering **Search Bar:** * Search by name, phone number, or email * Results update instantly as you type * Clear search to see all leads **Lead Type Toggle:** * **Real Leads**: Actual prospects from your campaigns * **Test Leads**: Leads marked for testing purposes * Toggle between views using the Real/Test switch ## Adding New Leads Click **+ Add Lead** to manually add contacts to your system. ### Required Information * **Name**: Lead's full name *(required)* * **Phone or Email**: At least one contact method *(required)* ### Optional Information * **Tags**: Custom labels for organization * **Additional Information**: Custom fields with any extra data * **Test Lead**: Mark as test lead for campaign testing ### Adding Custom Information * Click **Add Field** to create custom data fields * Enter field name and value * Useful for storing budget, company size, project details, etc. **Example Custom Fields:** ``` Company: "TechCorp Inc" Budget: "$10,000" Industry: "SaaS" Priority: "High" ``` ## Viewing Lead Details ### Conversation Modal Click the **💬** button to view complete conversation details in three tabs: **Messages Tab:** * Full WhatsApp conversation history * Messages from both lead and AI assistant * Timestamps for each message * Visual distinction between lead and bot messages **Collected Info Tab:** * All information gathered during the conversation * Data organized by information field type * Shows current conversation status * Displays qualification progress **Appointment Tab:** * Scheduled meeting details (date, time) * Appointment-related information collected * Meeting status and confirmation details ### Lead Info Modal Click the **ℹ️** button to view and edit lead profile: **Contact Details:** * Name, phone, email (editable) * Tags assigned to the lead * Test/Real lead designation **Additional Information:** * Custom fields and collected data * Edit existing information * Add new custom fields * Remove unnecessary fields ## Lead Status Indicators ### Conversation Status * **Green Checkmark**: Lead has engaged in conversation * **Gray X**: No conversation started yet * **Hover tooltip**: Shows number of messages exchanged ### Appointment Status * **Blue Calendar**: Meeting successfully scheduled * **Gray X**: No appointment booked * **Hover tooltip**: Shows appointment date and time ## Managing Your Leads ### Organization Tips * **Use Tags**: Organize leads by source, priority, or status * **Regular Review**: Check conversation progress regularly * **Follow Up**: Use appointment info for meeting preparation * **Data Quality**: Keep contact information updated ### Common Actions * **Search**: Find specific leads quickly by any contact detail * **Filter**: Switch between real and test leads as needed * **Review Conversations**: Check qualification progress and AI performance * **Edit Information**: Update lead details as you learn more * **Export**: Copy important information for external use ## Pagination When you have many leads: * **Page Numbers**: Jump to specific pages * **Previous/Next**: Navigate sequentially through pages * **Ellipsis (...)**: Indicates additional pages available * **Current Page**: Highlighted page number shows your current location ## Best Practices ### Lead Management * **Regular Monitoring**: Check new conversations daily * **Tag Consistently**: Use standard tags across similar leads * **Update Information**: Keep lead data current as you learn more * **Test vs Real**: Keep test leads separate to avoid confusion ### Conversation Review * **Check AI Performance**: Review how well the AI is qualifying leads * **Identify Patterns**: Look for common questions or concerns from leads * **Optimize Flows**: Use conversation insights to improve your funnel * **Follow Up**: Act on qualified leads and scheduled appointments ### Data Organization * **Meaningful Tags**: Use tags that help with follow-up and prioritization * **Custom Fields**: Track information specific to your qualification process * **Clean Data**: Remove or correct incomplete or incorrect information * **Regular Cleanup**: Archive or delete old test leads periodically ## Lead Sources Leads appear in your table from several sources: * **Campaign Conversations**: Leads who engage with your active campaigns * **Manual Addition**: Contacts you add through the Add Lead form * **API/Webhook**: Leads imported from external systems * **Integrations**: Contacts from connected tools like Zapier Test leads are visually distinguished with a light background and "Test Lead" badge to prevent confusion with real prospects. Use the search function to quickly find leads before important calls or meetings. Search works across names, phone numbers, and email addresses. # Quick Setup Source: https://docs.whappy.ai/quickstart Get your WhatsApp lead qualification automation up and running in minutes with this step-by-step guide. # Getting Started with Whappy Whappy helps you automate WhatsApp conversations to qualify leads and book appointments. This guide walks you through setting up your first campaign, from initial context to managing qualified leads. *** ## 1. Create Your First Campaign Start by navigating to **Dashboard → Campaign** to set up your WhatsApp automation campaign. ### Set Your Context Define the foundation of your AI assistant: * **WhatsApp Name**: The name your AI will use when messaging leads * **Business Activity**: Describe what your business does * **Conversation Objective**: What you want to achieve (qualify leads, book demos, etc.) * **Additional Information**: Any extra context the AI should know Setting up campaign context Be specific about your business and objectives. The AI uses this information to have natural, relevant conversations with your leads. *** ## 2. Define Lead Information Fields Navigate to the **Info** tab to specify what information you want to collect from leads during your WhatsApp conversations. Defining lead information fields **Example Fields:** * Budget range (Multiple choice) * Project timeline (Text input) * Company size (Number) *** ## 3. Build Your Conversation Funnel In the **Funnel** tab, create the conversation flow using drag-and-drop nodes: Build your conversation flow using simple drag-and-drop nodes to guide leads through qualification and booking. Building conversation funnel Use the Test button to simulate conversations and refine your funnel before going live. *** ## 4. Configure Campaign Options Set your **operating hours** and **timezone** in the **Options** tab: * **Timezone**: Select your business timezone * **Operating Days**: Choose which days to run campaigns * **Active Hours**: Set start and end times for each day Configuring campaign schedule *** ## 5. Set Up WhatsApp Integration Navigate to **Integrations → WhatsApp** to connect your WhatsApp Business account and configure message templates. WhatsApp integration setup WhatsApp templates must be approved before you can send messages. Set up your integration early in the process. *** ## 6. Test Your Campaign Before going live: 1. **Test the Funnel**: Use the Test button in the funnel builder 2. **Verify Integrations**: Check WhatsApp connection status 3. **Review Message Templates**: Ensure they're approved and working Testing campaign conversation *** ## 7. Launch and Manage Leads ### Start Your Campaign Once everything is configured and tested: 1. Go back to your **Campaign** page 2. Click the **Start Campaign** button 3. Your campaign status will show as "Running" ### Add Leads to Your Campaign Navigate to **Leads** to add contacts to your campaign: * **Manual Entry**: Add leads individually * **Import**: Upload lead lists * **Automation**: Connect with Zapier or other tools ### Monitor Conversations Track lead interactions in real-time: * View conversation history * See qualification status * Check appointment bookings * Export qualified leads *** ## 8. Optional: Set Up Additional Integrations ### Scheduling Integration Connect your calendar for appointment booking: * Sync your availability * Let leads book directly through WhatsApp ### Zapier Integration Automate your workflow: * Send qualified leads to your CRM * Trigger follow-up sequences * Connect with other business tools *** ## Next Steps 🎉 Congratulations! Your WhatsApp lead qualification system is now live. **What happens next:** 1. Leads will receive automated WhatsApp messages 2. The AI qualifies them based on your criteria 3. Qualified leads can book appointments automatically 4. You receive notifications for high-priority leads **Optimization Tips:** * Monitor conversation analytics * Refine your funnel based on performance * A/B test different message approaches * Regularly update your lead qualification criteria > **Need Help?** Check out our detailed guides for [Campaign Setup](/campaign/context), [Lead Management](/leads/overview), or [Integration Configuration](/integrations/whatsapp). Your automated lead qualification system is ready to work 24/7! 🚀 # Contact Support Source: https://docs.whappy.ai/support/contact-support Get help with Whappy - our support team is here to assist you with any questions or issues ## Get Help When You Need It Our support team is here to help you succeed with Whappy. Whether you're just getting started or need help with advanced features, we're ready to assist you. Send us an email for detailed questions or technical issues Book a call with our support team ## Support Options ### Email Support **Email:** [team@whappy.ai](mailto:team@whappy.ai) Best for: * Technical questions and troubleshooting * Account and billing inquiries * Feature requests and feedback * Detailed setup assistance **Response Time:** We typically respond within 24 hours during business days. ### Schedule a Call **Book a Meeting:** [Schedule 30-minute support call](https://calendly.com/whappy-support/30min) Perfect for: * Live troubleshooting sessions * Onboarding assistance * Complex integration setup * Demo and walkthrough requests * Strategic consultation **Availability:** Monday - Friday, 9 AM - 12 PM EST ## Before Contacting Support To help us assist you faster, please: Review our [FAQ section](/support/faq) for common questions and solutions Have your account details and specific error messages ready Screenshots or screen recordings help us understand your issue faster ## What to Include in Your Support Request When contacting support, please provide: * **Account Information**: Your registered email address * **Issue Description**: Detailed description of the problem * **Steps to Reproduce**: What you were doing when the issue occurred * **Browser/Device**: What browser and device you're using * **Screenshots**: Visual context helps us understand the issue * **Error Messages**: Any error messages you're seeing ## Community Resources While waiting for support, check out these helpful resources: Complete guides and tutorials Answers to common questions ## Feedback and Suggestions We're always looking to improve Whappy. Share your ideas with us: Suggest new features or improvements Share your experience and suggestions ## International Support We provide support in multiple languages and time zones: * **English**: Primary support language * **Spanish**: Available upon request * **Time Zones**: We accommodate different time zones for scheduled calls When booking a meeting, please mention your preferred language and time zone if different from EST. *** # FAQ Source: https://docs.whappy.ai/support/faq Frequently asked questions about Whappy's AI-powered WhatsApp automation platform ## Platform & Setup Whappy is a SaaS platform that automates WhatsApp conversations using AI to qualify leads and schedule appointments. It uses conversation flows (called "funnels") that guide prospects through a structured qualification process, collecting information and setting up meetings automatically. * A WhatsApp Business account * Modern web browser (Chrome, Firefox, Safari, Edge) * Active internet connection * Business phone number verified with WhatsApp Business * For integrations: Calendly, Cal.com, or Zapier accounts (optional) 1. Navigate to the Integrations page 2. Click on the WhatsApp integration card 3. Follow the OAuth flow to connect your WhatsApp Business account 4. Verify your business phone number and account details 5. Your WhatsApp integration will be active once verified ## Funnel Configuration A funnel is a conversation flow that defines how your AI assistant interacts with leads. To create one: 1. Go to the **Funnel** tab 2. Configure your business context in the **Context** section 3. Define information fields to collect in the **Info** section 4. Build your conversation flow using the visual flow builder 5. Set your operating hours in the **Options** section * **Start Node**: Initiates the conversation with a welcome message * **Info Node**: Collects specific information from leads (text, numbers, multiple choice) * **Condition Node**: Creates branching logic based on collected information * **Talk Node**: Sends custom messages or responses * **Appointment Node**: Schedules meetings using Calendly or Cal.com * **Close Node**: Ends the conversation and optionally sends data to external systems 1. Add a **Condition Node** to your flow 2. Select the information field to evaluate 3. Choose an operator (equals, greater than, less than, contains) 4. Set the comparison value 5. Connect the "true" and "false" outputs to different next steps 6. Optionally set a default path for unexpected values Yes! In the **Info** tab, you can create custom information fields: * **Text fields**: For names, descriptions, or open-ended responses * **Number fields**: For budgets, quantities, or numeric values * **Multiple choice**: For predefined options like preferences or categories * Each field can be marked as required or optional * You can provide example questions to guide the AI's conversation ## Lead Management Leads can be added through: * Manual entry in the Leads page * Zapier integration (automatic from forms, CRM, etc.) * Webhook integration from your own systems * Direct API calls to your unique endpoint * **Test leads**: Used for testing your funnel without affecting real data or sending actual WhatsApp messages * **Real leads**: Actual prospects that will receive WhatsApp messages from your AI assistant * You can toggle between viewing test and real leads using the switch in the Leads page 1. Go to the **Leads** page 2. Find the lead you want to review 3. Click the message icon in the Actions column 4. The conversation modal will show the complete message history 5. You can also see collected information and appointment details Currently, Whappy focuses on automated conversations through your configured funnel. Manual messaging capabilities may be added in future updates. For now, you can view conversation history and collected lead information. ## Integrations * **WhatsApp Business**: Core messaging platform (required) * **Calendly**: For appointment scheduling * **Cal.com**: Alternative appointment scheduling * **Zapier**: Connect to 5000+ apps for lead import * **Webhooks**: Direct integration with your systems 1. Navigate to **Integrations** page 2. Click on the Calendly card 3. Click "Connect" and authenticate with your Calendly account 4. Your event types will be automatically imported 5. Use the Appointment node in your funnel to offer specific event types 1. Get your API key from the Zapier integration card 2. Create a Zap in Zapier with your trigger (form submission, CRM update, etc.) 3. Use "Webhooks by Zapier" as the action 4. Send lead data to your Whappy webhook URL with your API key 5. Configure optional triggers for appointments and conversation closures Send a POST request to your webhook URL with this JSON format: ```json theme={null} { "name": "John Doe", "phone": "+1234567890", "email": "john@example.com", "tags": ["website", "demo-request"], "lead_info": { "source": "website", "budget": 5000 }, "is_test": false } ``` Include your API key in the Authorization header: `Bearer YOUR_API_KEY` ## Campaign Management 1. Ensure all requirements are met (WhatsApp connected, funnel configured) 2. Save any unsaved changes to your funnel 3. Click **Start Campaign** on the home page 4. To stop, click **Stop Campaign** and confirm 5. Stopping a campaign will close any ongoing conversations Operating hours define when your AI assistant will respond to leads: * Set different hours for each day of the week * Choose your timezone in the Options page * Messages received outside operating hours will be queued * Conversations will resume during the next operating period Currently, Whappy supports one active campaign per account. You can create and test different funnels, but only one can be running at a time. Enterprise features may include multiple campaign support in the future. ## Technical & Troubleshooting Check these common issues: * Ensure your WhatsApp Business account is verified * Check that your phone number is properly connected * Verify you have the necessary permissions on your WhatsApp Business account * Try disconnecting and reconnecting the integration * Contact support if issues persist * Check your internet connection * Ensure all required fields are completed * Try refreshing the page and making changes again * Clear your browser cache and cookies * If using condition nodes, verify all operators and values are set 1. Verify your Calendly/Cal.com integration is properly connected 2. Check that your event types are active and visible 3. Ensure your calendar has available time slots 4. Test the booking process with a test lead 5. Check your appointment node configuration in the funnel Verify these settings: * Campaign is running (green status on home page) * Lead phone numbers are in correct international format (+1234567890) * Operating hours are configured and current time is within them * WhatsApp Business account has sufficient credits/quota * Lead is not marked as a test lead (unless testing) 1. Create test leads using the "Add Lead" button with test mode enabled 2. Ensure your campaign is running 3. Test leads will follow your funnel but won't send actual WhatsApp messages 4. Review the conversation flow and collected information 5. Iterate on your funnel configuration as needed ## API & Development Yes, Whappy provides webhook endpoints for lead creation and status updates. Full REST API documentation is available for enterprise customers. Contact support for API access and documentation. All webhook requests must include an Authorization header: ``` Authorization: Bearer YOUR_API_KEY ``` Get your API key from the Integrations page. Keep this key secure and rotate it regularly for security. Currently, lead data can be viewed and managed through the Whappy interface. Data export features are planned for future releases. Enterprise customers can request custom data exports through support. ## Billing & Limits Usage limits vary by plan and may include: * Number of leads per month * Number of conversations per day * WhatsApp message limits * Integration capabilities Check your current usage and limits in the billing section of your account. * **Leads**: Each unique lead added to your system * **Conversations**: Each started conversation with a lead * **Messages**: Each WhatsApp message sent by your AI assistant * Usage resets according to your billing cycle * Your campaign may be paused to prevent overages * You'll receive notifications about approaching limits * Upgrade your plan to increase limits * Contact support for temporary limit increases if needed ## Security & Privacy * All data is encrypted in transit and at rest * SOC 2 Type II compliance (coming soon) * Regular security audits and penetration testing * GDPR and CCPA compliant data handling * Lead data is stored securely and never shared with third parties Yes, you can delete individual leads from the Leads page. For bulk data deletion or account data removal, contact support. We comply with data deletion requests in accordance with privacy regulations. All data is stored in secure, SOC 2 compliant data centers. We use industry-standard encryption and security practices to protect your information. Specific data residency options may be available for enterprise customers.