Updated Jul 21, 2025

Step-by-Step Guide: Building a Zoom Clone with Adalo

Table of Contents
Text Link

This comprehensive tutorial will guide you through building a video conferencing app using Adalo's no-code platform. While Adalo has significant limitations for native video conferencing, we'll show you how to create a functional meeting app by integrating third-party video services and building supporting features.

Important Limitations Upfront

Before starting, understand that Adalo cannot natively provide:

  • Real-time video/audio streaming
  • Screen sharing capabilities
  • Recording functionality
  • Virtual backgrounds
  • Breakout rooms

What we can build:

  • Meeting scheduling and management
  • User authentication and profiles
  • Meeting rooms with embedded video
  • Chat functionality
  • Calendar integration
  • Meeting analytics

Prerequisites and Initial Setup

Step 1: Create Your Adalo Account

  1. Go to Adalo.com and sign up
  2. Click "Create New App"
  3. Choose "Desktop Web App" (better for video conferencing)
  4. Name your app (e.g., "MeetingApp")
  5. Select "Start from Scratch"

Step 2: Choose Video Provider

Before building, select a video API provider:

  • Daily.co - Easiest integration, good free tier
  • Agora.io - More features, complex setup
  • Twilio Video - Enterprise-grade, expensive
  • Whereby - Simple embedded rooms

Sign up for your chosen provider and get API credentials.

External API integration guide

Building the Database Structure

Step 3: Enhance Users Collection

  1. Click Database icon in left sidebar
  2. Select default "Users" collection
  3. Add properties (click "+ Add Property"):
    • Display Name (Text)
    • Profile Picture (Image)
    • Title (Text)
    • Company (Text)
    • Time Zone (Text)
    • Meeting URL (Text - personal room)
    • Calendar Connected (True/False)
    • Is Premium (True/False)

Database setup documentation

Step 4: Create Meetings Collection

  1. Click "+ Add Collection"
  2. Name it "Meetings"
  3. Add properties:
    • Meeting ID (Text - Auto-generated)
    • Title (Text)
    • Description (Text - Multiline)
    • Start Time (Date & Time)
    • Duration (Number - minutes)
    • Meeting URL (Text)
    • Passcode (Text)
    • Recording URL (Text)
    • Is Recurring (True/False)
    • Recurrence Pattern (Text)
    • Max Participants (Number)
    • Waiting Room (True/False)
    • Status (Text) - "scheduled", "live", "ended"

Step 5: Create Participants Collection

  1. Click "+ Add Collection"
  2. Name it "Participants"
  3. Add properties:
    • Join Time (Date & Time)
    • Leave Time (Date & Time)
    • Role (Text) - "host", "co-host", "participant"
    • Audio Enabled (True/False)
    • Video Enabled (True/False)
    • Screen Sharing (True/False)
    • Hand Raised (True/False)

Step 6: Create Chat Messages Collection

  1. Click "+ Add Collection"
  2. Name it "Chat Messages"
  3. Add properties:
    • Message (Text)
    • Timestamp (Date & Time - Automatic)
    • Type (Text) - "public", "private"
    • File Attachment (File)

Step 7: Create Calendar Events Collection

  1. Click "+ Add Collection"
  2. Name it "Calendar Events"
  3. Add properties:
    • Event Type (Text) - "meeting", "webinar"
    • Recurring Rule (Text)
    • Reminder Time (Number - minutes before)
    • Time Zone (Text)

Step 8: Create Recordings Collection

  1. Click "+ Add Collection"
  2. Name it "Recordings"
  3. Add properties:
    • Recording URL (Text)
    • Duration (Number)
    • File Size (Number)
    • Created At (Date & Time)
    • Transcript (Text - Multiline)
    • Password Protected (True/False)

Step 9: Set Up Relationships

  1. In Meetings:


    • Host → Users (Many to One)
    • Created By → Users (Many to One)
  2. In Participants:


    • User → Users (Many to One)
    • Meeting → Meetings (Many to One)
  3. In Chat Messages:


    • Sender → Users (Many to One)
    • Meeting → Meetings (Many to One)
    • Recipient → Users (Many to One) - for private messages
  4. In Calendar Events:


    • Meeting → Meetings (Many to One)
    • Owner → Users (Many to One)

Building the Home Dashboard

Step 10: Create Dashboard Screen

  1. Add new screen "Dashboard"
  2. Add App Bar:
    • Logo on left
    • User profile picture (right)
    • Settings icon
  3. Create main sections:
    • Welcome message with user name
    • Quick actions area
    • Upcoming meetings list
    • Recent recordings

Step 11: Add Quick Action Buttons

  1. Add horizontal button group:
    • "New Meeting" → Create instant meeting
    • "Join" → Enter meeting ID
    • "Schedule" → Calendar view
    • "Share Screen" → Instructions only

Step 12: Build Upcoming Meetings List

  1. Add Custom List:
    • Data: Meetings
    • Filter: Host = Logged In User OR Participant contains Logged In User
    • Filter: Start Time > Current Time
    • Sort: Start Time (Ascending)
  2. Display for each meeting:
    • Meeting title
    • Date and time
    • Duration
    • Join button
    • Edit/Cancel options (if host)

Creating Meeting Scheduling

Step 13: Build Schedule Meeting Screen

  1. Create "Schedule Meeting" screen
  2. Add Form component:
    • Text Input for title
    • Text Area for description
    • Date Picker for date
    • Time Picker for start time
    • Dropdown for duration (15, 30, 45, 60, 90 minutes)
    • Toggle for recurring meeting
    • Dropdown for time zone

Step 14: Add Meeting Options

  1. Add security section:
    • Toggle for waiting room
    • Toggle for require passcode
    • Text Input for passcode (conditional)
    • Number Input for participant limit
  2. Add video options:
    • Toggle for host video on
    • Toggle for participant video on
    • Toggle for allow recording

Step 15: Create Recurring Meeting Logic

  1. Add conditional visibility section:
    • Show when "Recurring" toggle is on
    • Dropdown for frequency (Daily, Weekly, Monthly)
    • Number Input for occurrences
    • Date Picker for end date
  2. Generate recurring events using:
    • Custom actions
    • External automation (Zapier/Make)

Building the Video Conference Room

Step 16: Create Meeting Room Screen

Note: This is where we embed third-party video

  1. Create "Meeting Room" screen
  2. Add layout structure:
    • Top bar for meeting info
    • Main area for video embed
    • Bottom control bar
    • Right sidebar for chat/participants

Step 17: Embed Video Service

Using Web View component:

  1. Add Web View component (full main area)
  2. Set URL dynamically:
    • For Daily.co: https://[your-domain].daily.co/[room-name]
    • For Whereby: https://[your-account].whereby.com/[room-name]
    • For custom: Your video service URL
  3. Pass parameters:
    • User name
    • Meeting ID
    • Authentication token

Video integration guide

Step 18: Build Meeting Controls

  1. Add bottom control bar with buttons:
    • Microphone (toggle icon)
    • Camera (toggle icon)
    • Share Screen (opens instructions)
    • Participants (show/hide sidebar)
    • Chat (show/hide chat)
    • Record (if host)
    • End Call (red button)
  2. Note: These update database but don't control actual video

Step 19: Create Participants Panel

  1. Add sidebar Custom List:
    • Data: Participants
    • Filter: Meeting = Current Meeting
    • Show real-time count
  2. For each participant show:
    • Profile picture
    • Name
    • Audio/Video status icons
    • Host/Co-host badge
    • More options menu

Step 20: Build In-Meeting Chat

  1. Add chat panel in sidebar
  2. Add Custom List for messages:
    • Filter: Meeting = Current Meeting
    • Sort: Timestamp (Ascending)
  3. Add message input:
    • Text input
    • Send button
    • File attachment option
  4. Add chat options:
    • Toggle between Everyone/Direct message
    • Save chat option

Creating Supporting Features

Step 21: Build Join Meeting Flow

  1. Create "Join Meeting" screen
  2. Add form:
    • Text Input for Meeting ID
    • Text Input for Passcode (optional)
    • Text Input for Display Name
  3. Add pre-join options:
    • Audio test
    • Video preview (instructions)
    • Virtual background (not functional)

Step 22: Create Waiting Room

  1. Build "Waiting Room" screen
  2. Display:
    • Meeting title
    • "Waiting for host" message
    • Estimated wait time
    • Leave meeting option
  3. Auto-redirect when admitted:
    • Check participant status
    • Navigate to meeting room

Step 23: Implement Screen Sharing

Note: Actual sharing happens in video service

  1. Create "Share Screen" modal
  2. Add instructions:
    • How to share in the video service
    • Supported browsers
    • Audio sharing options
  3. Update participant status in database

Step 24: Build Recording Management

  1. Create "Recordings" screen
  2. Add Custom List:
    • Filter: Meeting Host = Logged In User
    • Sort: Created At (Newest First)
  3. For each recording show:
    • Meeting title
    • Date and duration
    • File size
    • Play button (link to video)
    • Download option
    • Delete button

Adding Calendar Integration

Step 25: Create Calendar View

  1. Install Calendar Component from Marketplace
  2. Configure to show:
    • User's meetings
    • Different colors for meeting types
    • Click to view details
  3. Add month/week/day views

Calendar component docs

Step 26: Build Meeting Invites

  1. Create "Send Invite" screen
  2. Add participant selection:
    • Email input (multiple)
    • Contact list picker
    • Add message option
  3. Generate invite with:
    • Meeting link
    • Passcode
    • Calendar file (.ics)
    • Instructions

Implementing Advanced Features

Step 27: Create Breakout Rooms

Note: UI only, not functional

  1. Add "Breakout Rooms" to host controls
  2. Build room management screen:
    • Number of rooms
    • Automatic/Manual assignment
    • Room names
    • Participant distribution
  3. Show status in main meeting

Step 28: Add Virtual Backgrounds

Note: Selection only, applied in video service

  1. Create background gallery
  2. Options:
    • Blur background
    • Virtual backgrounds
    • Upload custom image
  3. Save user preference

Step 29: Build Webinar Mode

  1. Create webinar-specific features:
    • Attendee vs panelist roles
    • Q&A module
    • Polling system
    • Registration page
  2. Different UI for attendees:
    • View-only mode
    • Raise hand feature
    • Q&A participation

Step 30: Implement Analytics

  1. Create "Analytics" screen for hosts
  2. Display meeting metrics:
    • Attendance charts
    • Participation rates
    • Average duration
    • Device types used
  3. Export options:
    • CSV download
    • Email report

Optimizing Performance

Step 31: Handle Video Bandwidth

  1. Add quality settings:
    • Video resolution options
    • Bandwidth test
    • Low bandwidth mode
  2. Implement fallbacks:
    • Audio-only mode
    • Dial-in numbers
    • Mobile app redirect

Step 32: Scale for Large Meetings

  1. Implement pagination for participants
  2. Limit chat history display
  3. Use lazy loading for recordings
  4. Cache frequently accessed data
  5. Add meeting size tiers

Security and Compliance

Step 33: Add Security Features

  1. Implement meeting locks
  2. Add participant approval queue
  3. Create report/remove participant
  4. Enable end-to-end encryption notice
  5. Add watermarking option (UI only)

Step 34: Build Admin Controls

  1. Create admin dashboard:
    • User management
    • Meeting oversight
    • Usage reports
    • Security settings
  2. Add audit logs:
    • Meeting access logs
    • Feature usage
    • Security events

Testing and Deployment

Step 35: Test Integration

  1. Test with your video provider:
    • Room creation API
    • User authentication
    • Meeting controls
    • Recording retrieval
  2. Test edge cases:
    • Network failures
    • Browser compatibility
    • Mobile responsiveness

Step 36: Prepare for Launch

  1. Upgrade to Professional plan minimum
  2. Configure custom domain
  3. Set up SSL certificates
  4. Create user documentation
  5. Build support system

Pricing and Limitations

Adalo Costs:

  • Professional ($65/month) - Minimum for APIs
  • Team ($200/month) - Collaborative features
  • Business ($250/month) - Best performance

Video Service Costs:

  • Daily.co: Free-$thousands/month
  • Agora.io: Usage-based pricing
  • Twilio: Per minute billing
  • Whereby: $9.99-$59.99/month

Critical Limitations:

  1. No native video/audio handling
  2. Limited real-time capabilities
  3. Dependent on third-party services
  4. No true screen sharing control
  5. Recording happens externally

Alternative Approaches

For better video conferencing:

  1. Hybrid Approach: Adalo for UI + Native SDK
  2. Web App: Full custom development
  3. White Label: Reskin existing solution
  4. Different Platform: Consider Bubble.io

Additional Resources

Final Recommendations

This Zoom clone provides a functional video meeting platform with these realistic expectations:

  • Video handled by third-party service
  • UI/UX and meeting management in Adalo
  • Good for small teams and basic needs
  • Not suitable for enterprise requirements
  • Consider it a MVP or prototype

For production use:

  • Invest in premium video API service
  • Consider custom development for critical features
  • Set clear user expectations about capabilities
  • Plan for scaling costs with user growth
Start Building With An App Template
Build your app fast with one of our pre-made app templates
Try it now
Read This Next

Looking For More?

Ready to Get Started on Adalo?