
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
- Go to Adalo.com and sign up
- Click "Create New App"
- Choose "Desktop Web App" (better for video conferencing)
- Name your app (e.g., "MeetingApp")
- 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
- Click Database icon in left sidebar
- Select default "Users" collection
- 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)
Step 4: Create Meetings Collection
- Click "+ Add Collection"
- Name it "Meetings"
- 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
- Click "+ Add Collection"
- Name it "Participants"
- 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
- Click "+ Add Collection"
- Name it "Chat Messages"
- Add properties:
- Message (Text)
- Timestamp (Date & Time - Automatic)
- Type (Text) - "public", "private"
- File Attachment (File)
Step 7: Create Calendar Events Collection
- Click "+ Add Collection"
- Name it "Calendar Events"
- Add properties:
- Event Type (Text) - "meeting", "webinar"
- Recurring Rule (Text)
- Reminder Time (Number - minutes before)
- Time Zone (Text)
Step 8: Create Recordings Collection
- Click "+ Add Collection"
- Name it "Recordings"
- 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
- In Meetings:
- Host → Users (Many to One)
- Created By → Users (Many to One)
- In Participants:
- User → Users (Many to One)
- Meeting → Meetings (Many to One)
- In Chat Messages:
- Sender → Users (Many to One)
- Meeting → Meetings (Many to One)
- Recipient → Users (Many to One) - for private messages
- In Calendar Events:
- Meeting → Meetings (Many to One)
- Owner → Users (Many to One)
Building the Home Dashboard
Step 10: Create Dashboard Screen
- Add new screen "Dashboard"
- Add App Bar:
- Logo on left
- User profile picture (right)
- Settings icon
- Create main sections:
- Welcome message with user name
- Quick actions area
- Upcoming meetings list
- Recent recordings
Step 11: Add Quick Action Buttons
- 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
- 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)
- 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
- Create "Schedule Meeting" screen
- 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
- Add security section:
- Toggle for waiting room
- Toggle for require passcode
- Text Input for passcode (conditional)
- Number Input for participant limit
- Add video options:
- Toggle for host video on
- Toggle for participant video on
- Toggle for allow recording
Step 15: Create Recurring Meeting Logic
- 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
- 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
- Create "Meeting Room" screen
- 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:
- Add Web View component (full main area)
- 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
- Pass parameters:
- User name
- Meeting ID
- Authentication token
Step 18: Build Meeting Controls
- 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)
- Note: These update database but don't control actual video
Step 19: Create Participants Panel
- Add sidebar Custom List:
- Data: Participants
- Filter: Meeting = Current Meeting
- Show real-time count
- For each participant show:
- Profile picture
- Name
- Audio/Video status icons
- Host/Co-host badge
- More options menu
Step 20: Build In-Meeting Chat
- Add chat panel in sidebar
- Add Custom List for messages:
- Filter: Meeting = Current Meeting
- Sort: Timestamp (Ascending)
- Add message input:
- Text input
- Send button
- File attachment option
- Add chat options:
- Toggle between Everyone/Direct message
- Save chat option
Creating Supporting Features
Step 21: Build Join Meeting Flow
- Create "Join Meeting" screen
- Add form:
- Text Input for Meeting ID
- Text Input for Passcode (optional)
- Text Input for Display Name
- Add pre-join options:
- Audio test
- Video preview (instructions)
- Virtual background (not functional)
Step 22: Create Waiting Room
- Build "Waiting Room" screen
- Display:
- Meeting title
- "Waiting for host" message
- Estimated wait time
- Leave meeting option
- Auto-redirect when admitted:
- Check participant status
- Navigate to meeting room
Step 23: Implement Screen Sharing
Note: Actual sharing happens in video service
- Create "Share Screen" modal
- Add instructions:
- How to share in the video service
- Supported browsers
- Audio sharing options
- Update participant status in database
Step 24: Build Recording Management
- Create "Recordings" screen
- Add Custom List:
- Filter: Meeting Host = Logged In User
- Sort: Created At (Newest First)
- 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
- Install Calendar Component from Marketplace
- Configure to show:
- User's meetings
- Different colors for meeting types
- Click to view details
- Add month/week/day views
Step 26: Build Meeting Invites
- Create "Send Invite" screen
- Add participant selection:
- Email input (multiple)
- Contact list picker
- Add message option
- Generate invite with:
- Meeting link
- Passcode
- Calendar file (.ics)
- Instructions
Implementing Advanced Features
Step 27: Create Breakout Rooms
Note: UI only, not functional
- Add "Breakout Rooms" to host controls
- Build room management screen:
- Number of rooms
- Automatic/Manual assignment
- Room names
- Participant distribution
- Show status in main meeting
Step 28: Add Virtual Backgrounds
Note: Selection only, applied in video service
- Create background gallery
- Options:
- Blur background
- Virtual backgrounds
- Upload custom image
- Save user preference
Step 29: Build Webinar Mode
- Create webinar-specific features:
- Attendee vs panelist roles
- Q&A module
- Polling system
- Registration page
- Different UI for attendees:
- View-only mode
- Raise hand feature
- Q&A participation
Step 30: Implement Analytics
- Create "Analytics" screen for hosts
- Display meeting metrics:
- Attendance charts
- Participation rates
- Average duration
- Device types used
- Export options:
- CSV download
- Email report
Optimizing Performance
Step 31: Handle Video Bandwidth
- Add quality settings:
- Video resolution options
- Bandwidth test
- Low bandwidth mode
- Implement fallbacks:
- Audio-only mode
- Dial-in numbers
- Mobile app redirect
Step 32: Scale for Large Meetings
- Implement pagination for participants
- Limit chat history display
- Use lazy loading for recordings
- Cache frequently accessed data
- Add meeting size tiers
Security and Compliance
Step 33: Add Security Features
- Implement meeting locks
- Add participant approval queue
- Create report/remove participant
- Enable end-to-end encryption notice
- Add watermarking option (UI only)
Step 34: Build Admin Controls
- Create admin dashboard:
- User management
- Meeting oversight
- Usage reports
- Security settings
- Add audit logs:
- Meeting access logs
- Feature usage
- Security events
Testing and Deployment
Step 35: Test Integration
- Test with your video provider:
- Room creation API
- User authentication
- Meeting controls
- Recording retrieval
- Test edge cases:
- Network failures
- Browser compatibility
- Mobile responsiveness
Step 36: Prepare for Launch
- Upgrade to Professional plan minimum
- Configure custom domain
- Set up SSL certificates
- Create user documentation
- 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:
- No native video/audio handling
- Limited real-time capabilities
- Dependent on third-party services
- No true screen sharing control
- Recording happens externally
Alternative Approaches
For better video conferencing:
- Hybrid Approach: Adalo for UI + Native SDK
- Web App: Full custom development
- White Label: Reskin existing solution
- 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










