Zoom Integration
Manage virtual Zoom meetings with comprehensive features including agenda management, resource attachment, and member widgets.Meetings Module Overview
The Meetings Module (MeetingsModule.tsx) provides full CRUD for Zoom meetings with visual organization.
From types.ts:lines 224-248:
The platform is Zoom-only by design. This simplifies member experience and reduces technical complexity.
Creating a Zoom Meeting
Navigate to Meetings Module → Reuniones tab.General Information
Fill required fields:
- Título: Session name
- Fecha: Meeting date (date picker)
- Hora: Meeting time (time picker)
- Estado:
Programada,En curso, orFinalizada
Configure Agenda
Build structured agenda (optional):Click + Agregar punto to add agenda items.Each item has:
- Title: Topic name
- Duration: Minutes allocated
Attach Resources
Link media from library:Click + Vincular archivo → Select from Media Library.
Resources are read-only references. They are not duplicated, just linked.
Preview Widget
Right panel shows how the meeting appears in member dashboard:
- Zoom logo
- Title and time
- “Sala disponible” status indicator
MeetingsModule.tsx:lines 132-155.
Agenda Management
Structured agenda with time tracking.Agenda Item Structure
Fromtypes.ts:lines 631-637:
Adding Agenda Points
In the meeting form:MeetingsModule.tsx:lines 158-160.
Reordering Items
Use up/down buttons to swap adjacent items:MeetingsModule.tsx:lines 171-177.
Total Duration
Calculated automatically:MeetingsModule.tsx:lines 335-337.
Media Library References
Link existing media assets to meetings without duplication.Reference Structure
Fromtypes.ts:lines 640-643:
Adding Resources
Click + Vincular archivo to open media picker:
From
MeetingsModule.tsx:lines 180-185.
Displaying References
In meeting form, linked media shows:- Icon: Based on asset type (document, audio, video, image)
- Name: Asset name or custom label
- Metadata: Type and file size
- Remove button: X icon to unlink
MeetingsModule.tsx:lines 352-367.
Icon Mapping
MeetingsModule.tsx:lines 189-194.
Widget Configuration
Customize how meetings appear in member dashboard.Widget Structure
Fromtypes.ts:lines 646-651:
Widget Preview
Right panel in meeting form shows real-time preview:MeetingsModule.tsx:lines 378-389.
Zoom Logo Component
Official Zoom branding SVG:MeetingsModule.tsx:lines 20-26.
Using official colors (
#2D8CFF) maintains brand consistency.Meeting Status
Three states with visual indicators:Status Configuration
FromMeetingsModule.tsx:lines 201-205:
Status Workflow
- Programada: Initial state when created
- En curso: Manually updated when meeting starts
- Finalizada: Set after meeting concludes
Meeting List View
Meetings display in card format:MeetingsModule.tsx:lines 231-260.
Media Picker Modal
Full-screen modal for selecting media assets.Features
- Search: Filter by name or tags
- Visual Grid: Cards with icons and metadata
- Selection State: Checkmarks on selected items
- Read-Only: Cannot modify media library from picker
MeetingsModule.tsx:lines 408-456.
Search Implementation
MeetingsModule.tsx:lines 196-199.
Synchronization with Activities
Meetings can link to Activity Events for bidirectional sync.Linking Fields
Sync Behavior
Whenmodality === 'Virtual' in Activity:
- Setting
zoomUrlcan create aCalendarEvent - Creating a
CalendarEventcan auto-createActivityEvent - Both records reference each other via IDs
Best Practices
Create in Zoom First
Always generate the meeting in Zoom before creating the platform record.
Use Agenda for Complex Sessions
Structure multi-topic meetings with timed agenda items.
Link Resources Early
Attach materials before publishing to members.
Update Status Manually
Change status to “En curso” when starting, “Finalizada” after.
Troubleshooting
Meeting URL Not Working
- Verify URL starts with
https://zoom.us/j/ - Check meeting ID and password are included
- Test URL in browser before saving
- Ensure Zoom meeting is not expired
Widget Not Showing in Dashboard
- Confirm meeting date is today or future
- Check
eventStatusis notFinalizada - Verify member dashboard widget is enabled
Media Not Displaying
- Check
mediaAssetIdexists in Media Library - Verify asset has not been deleted
- Ensure asset type is supported (image, video, audio, document)
Agenda Total Wrong
- Verify all
durationMinutesvalues are positive numbers - Check for empty or undefined durations (defaults to 0)
- Recalculate manually: sum all item durations
Manual Zoom Integration Guide
Since this is not an API integration, follow these steps:Create Meeting in Zoom
- Log in to Zoom
- Click Schedule a Meeting
- Set topic, date, time, settings
- Copy the join URL
Create Meeting Record
- Open CAFH admin panel
- Navigate to Meetings Module
- Click + Nueva Reunión
- Paste Zoom URL in Link de Zoom field
Configure Details
Match Zoom settings:
- Title: Same as Zoom topic
- Date/Time: Same as Zoom schedule
- Organizer: Host from CRM
For automatic sync, you would need to implement Zoom Webhooks and OAuth integration.
Related Documentation
- Calendar Management - Activity Events system
- Feedback System - Post-meeting surveys
- Gamification - Attendance rewards