🔥WORDPRESS PLUGINS YOU WON'T FIND ANYWHERE ELSE!BloatSlayer🔍SEO Surgeon📦TrackShip🚀LaunchPad🎯CommandPost🔑VeriKeyProofFlow💬SiteChat🤖AltVault📢Announcement Bar🌙Dark Mode🖌️Login Logo🚫Disable Comments
Docs › BTConference

BTConference Documentation

Self-hosted video meetings, bookings, polls, collaborative notes, and more for any PHP website. Powered by JaaS.

▶ Live Demo Buy Now — $99

Overview

BTConference is a standalone, self-hosted PHP application that brings video meetings, bookings, polls, and collaborative notes to any website. Unlike WPConference (which requires WordPress), BTConference runs on any server with PHP and MySQL — no CMS needed.

It uses Jitsi Meet (via JaaS / 8x8.vc) as the video engine — completely free with no per-host fees, no per-minute charges, and no credit card required. Upload the files, run the installer, and you have a full-featured meeting platform.

Powered by JaaS. BTConference uses the Jitsi as a Service platform at 8x8.vc. You need a free JaaS account (25 free monthly active users). Sign up here.

Key Features

  • Instant & scheduled meetings with room designer and custom themes
  • Booking system with availability schedule, Stripe and PayPal payments
  • Live polls and collaborative notes during meetings
  • Calendar sync with .ics downloads for Google, Outlook, and Apple Calendar
  • SMTP email for invitations, confirmations, and reminders
  • Theme customizer and custom branding
  • Desktop app (Electron, Windows) and PWA mobile support
  • Own user system — no WordPress accounts needed

Installation

BTConference includes a one-click web installer. No command-line access required.

Requirements

  • PHP 7.4 or higher
  • MySQL 5.7+ or MariaDB 10.3+
  • A web server (Apache, Nginx, LiteSpeed, etc.)
  • HTTPS recommended for video/audio permissions

Steps

  1. Download the BTConference ZIP from your account dashboard
  2. Extract and upload the files to your server (e.g., /btconference/ or the root)
  3. Visit yourdomain.com/btconference/install.php in your browser
  4. Enter your database host, name, username, and password
  5. Set your admin username, email, and password
  6. Click Install — the installer creates all tables and your admin account
  7. Delete install.php after installation for security
Delete install.php. After installation, remove the install.php file from your server to prevent unauthorized re-installation.

JaaS Setup (Required)

  1. Go to jaas.8x8.vc and create a free account
  2. Your App ID is shown on the dashboard (e.g., vpaas-magic-cookie-xxxxxxxx)
  3. Click Add API Key to generate a key pair
  4. Copy the API Key ID (just the short ID, not the full string)
  5. Download the Private Key file (.pk)
  6. In BTConference: Settings › JaaS Configuration — paste App ID, API Key ID, and private key contents
  7. Click Save

Dashboard

After logging in, the dashboard shows:

  • Stats cards — total meetings, upcoming meetings, total bookings, and registered users
  • Recent meetings — list of the last 10 meetings with status and join links
  • Instant Meeting button — one click to start a meeting immediately
  • Quick actions — links to create a meeting, view bookings, manage users, and settings

Creating Meetings

Go to Meetings › Create Meeting from the admin panel. You can configure:

  • Title — the meeting name shown to participants
  • Password — optional password required to join
  • Schedule — set a date and time for future meetings
  • Recurrence — daily, weekly, or monthly repeating meetings with optional end date
  • Invite participants — enter email addresses to send invitation emails with join links and .ics calendar files
  • Room Designer — customize the meeting room appearance

Room Designer

Check "Customize room appearance" to open the Room Designer:

  • Theme Presets — one-click themes like Midnight, Ocean, Sunset, Forest, Slate, Corporate
  • Custom Colors — toolbar color, accent color, background color with live preview
  • Scene Backgrounds — photo backgrounds (Beach, Tropical, Ocean, Mountains, etc.)
  • Gradient Backgrounds — gradient presets
  • Room Logo — per-meeting logo
  • Welcome Message — banner shown when participants first join

Meeting Room

The meeting room runs full-screen with Jitsi Meet embedded. The toolbar provides quick access to meeting features:

  • Copy Link — copy the meeting join URL to clipboard for sharing
  • Calendar — download a .ics file to add the meeting to your calendar
  • Polls — create and launch live polls during the meeting
  • Notes — open the shared collaborative notes panel
  • Fullscreen — toggle fullscreen mode
  • Leave — end or leave the meeting

Participants join via a direct link: yourdomain.com/btconference/meeting/room-id. No downloads or accounts needed — works in Chrome, Firefox, Edge, and Safari.

Meeting Agenda

Create a structured agenda when scheduling a meeting. Add numbered items to keep your meeting on track and ensure all topics are covered.

Creating an Agenda

When creating or editing a meeting, you will see an Agenda section. Click "Add Item" to add agenda items. Items are automatically numbered and can be reordered or removed before saving.

During the Meeting

Click the Agenda button in the meeting toolbar to open the agenda sidebar panel. Each item appears as a checkbox that any participant can check off as topics are completed. Progress is synced across all participants in real time.

In Invite Emails

When you invite participants by email, the agenda is automatically included in the invitation so attendees can prepare in advance.

Calendar Sync

BTConference generates .ics calendar files for every meeting. These work with:

  • Google Calendar — click the .ics link to auto-add
  • Microsoft Outlook — open the .ics file to import
  • Apple Calendar — click to add on macOS or iOS

Calendar files are included in invitation emails and available as a download button in the meeting details. For scheduled meetings, the .ics file includes the correct date, time, duration, title, and join link.

Action Items

Create tasks during meetings and track them to completion. Action items keep your team accountable by turning discussion points into trackable tasks.

Creating Tasks

Click the Tasks button in the meeting toolbar to open the action items panel. Add a task by entering a title and optionally assigning it to a participant. Tasks are synced across all participants in real time.

During the Meeting

All participants see the shared task list. Items appear as a checkable list that anyone can mark as complete. New tasks can be added at any time during the meeting.

Dashboard Tracking

After the meeting, all action items appear on the admin dashboard. Filter by pending or completed status to see what still needs attention. Each task shows its title, assignee, and completion state.

Meeting Timer

Every meeting includes a visible countdown timer in the toolbar so participants always know how much time is left.

How It Works

  • The timer appears in the meeting toolbar and counts down the remaining time
  • Default duration is 60 minutes (configurable when creating a meeting)
  • Color shifts from green to orange to flashing red as time runs out
  • When the timer reaches zero, a "Time's up!" alert is displayed

Meeting Analytics

BTConference automatically tracks meeting activity and presents key metrics on the admin dashboard. No configuration needed — analytics begin recording as soon as participants join.

What's Tracked

  • Attendance — automatic participant logging when users join a meeting
  • Duration — average meeting duration across all meetings
  • Peak Hours — chart showing which hours of the day have the most meetings
  • Most Active Rooms — rooms ranked by total participants and meeting count
  • Recent Participants — list of the latest participants with join timestamps

How It Works

When a participant joins a meeting, BTConference logs their name, email (if available), and join time. A real-time heartbeat keeps the participant list accurate by detecting when users leave. All data is displayed on the Analytics tab in the admin panel.

Participant Tracking

Click the participant count on any meeting in the admin meetings table to open the full participant detail view for that meeting.

Stats Cards

  • Total Joins — the total number of times participants joined the meeting (includes rejoins)
  • Unique Participants — distinct participants based on identity
  • Avg Duration — average time each participant spent in the meeting
  • Longest Session — the single longest participant session

Participant Table

The detail view shows a table of every participant who joined the meeting. Each row includes:

  • Name and email (if available)
  • Masked IP — IP addresses are partially masked for privacy (e.g., 192.168.*.***)
  • Join time and duration
  • Status — a green dot indicates the participant is currently active in the meeting

SMS Notifications

BTConference can send meeting reminders and booking confirmations via SMS using Twilio. You bring your own Twilio account — BTConference connects to it.

Setup

  1. Create a free account at twilio.com and get a phone number
  2. In BTConference: Settings › SMS Notifications (Twilio)
  3. Enter your Account SID, Auth Token, and Twilio Phone Number
  4. Enable SMS for meeting reminders and/or booking confirmations
  5. Click Send Test SMS to verify your setup

How It Works

  • When SMS is configured, a phone number field appears on the public booking form (optional)
  • Customers who enter their phone number receive text messages for booking confirmations and meeting reminders
  • Works with any Twilio phone number — local, toll-free, or short code
Twilio account required. SMS notifications require a Twilio account with an active phone number. Sign up at twilio.com — they offer a free trial with credits to get started.

Webhooks

BTConference can send real-time notifications to external services when key events occur. Webhooks POST JSON payloads to a URL you configure, with HMAC-SHA256 signatures for security.

Setup

  1. Go to Settings
  2. Enter your Webhook URL — the endpoint that will receive POST requests
  3. Enter a Webhook Secret — used to generate the HMAC-SHA256 signature
  4. Click Save

Event Types

  • meeting.created — fired when a new meeting is started or scheduled
  • meeting.ended — fired when a meeting ends
  • booking.created — fired when a booking is made through the booking system

Payload Format

Each webhook sends a JSON payload via HTTP POST:

{ "event": "meeting.created", "timestamp": "2026-04-12T14:30:00Z", "data": { "meeting_id": "abc-xyz-123", "title": "Team Standup", "host": "admin@example.com", "scheduled_at": "2026-04-12T15:00:00Z" } }

HMAC-SHA256 Signature

Every webhook request includes a X-BTConference-Signature header containing an HMAC-SHA256 hash of the request body, signed with your webhook secret. Verify this on your server to ensure the request is authentic.

Test Webhook

After configuring your URL and secret, click the Test Webhook button in Settings to send a test payload and verify your endpoint is receiving requests correctly.

Retry behavior. If your endpoint returns a non-2xx status code, BTConference will retry the webhook up to 3 times with exponential backoff.

REST API

BTConference includes a REST API that lets you connect your meetings, bookings, tasks, and analytics to external tools like Zapier, Make.com, or any custom integration. All endpoints use API key authentication and return JSON.

Generating an API Key

  1. Go to Settings
  2. Scroll to the REST API section
  3. Click Generate API Key
  4. Copy the key and store it securely — it is shown only once

Authentication

Include your API key as a Bearer token in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Endpoints

All endpoints are relative to your BTConference installation URL: https://example.com/btconference/api/v1/

  • GET /api/v1/meetings — list all meetings
  • POST /api/v1/meetings — create a new meeting
  • GET /api/v1/meetings/{id} — get a single meeting
  • GET /api/v1/bookings — list all bookings
  • POST /api/v1/bookings — create a new booking
  • GET /api/v1/bookings/{id} — get a single booking
  • GET /api/v1/participants — list participants across meetings
  • GET /api/v1/participants/{meeting_id} — list participants for a specific meeting
  • GET /api/v1/tasks — list all action items
  • POST /api/v1/tasks — create a new action item
  • GET /api/v1/tasks/{id} — get a single action item
  • GET /api/v1/stats — get meeting analytics summary

Example: List Meetings

curl -X GET "https://example.com/btconference/api/v1/meetings" \ -H "Authorization: Bearer YOUR_API_KEY"

Example: Create a Meeting

curl -X POST "https://example.com/btconference/api/v1/meetings" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{"title": "Team Standup", "scheduled_at": "2026-04-15T10:00:00Z"}'

Rate Limiting

The API is rate-limited to 60 requests per minute per API key. If you exceed this limit, the API returns a 429 Too Many Requests response with a Retry-After header indicating how many seconds to wait.

Zapier / Make.com. Use the "Webhooks" or "HTTP" module in Zapier or Make.com to call BTConference API endpoints. Set the Authorization header with your Bearer token and parse the JSON response.

Team Members

BTConference includes a built-in team system so you can add other users and control what they can access. The Team page is available in the admin sidebar (admin users only).

Managing Team Members

From the Team page you can add, edit, and delete team members. Each member has a name, email, password, and a role that determines their access level.

Roles

  • Admin — full access to all features: meetings, bookings, settings, analytics, team management, and theme customization
  • Host — can create and manage meetings, start instant meetings, and invite participants. Cannot access settings, analytics, or team management
  • Viewer — can join meetings only. Cannot create, edit, or delete meetings. Cannot access any admin pages except the meeting room

Role-Based Restrictions

Pages in the admin sidebar are shown or hidden based on the user's role. Hosts see the Dashboard, Meetings, and Bookings pages. Viewers see only the Dashboard with their upcoming meetings. Admins see everything including Settings, Analytics, and Team.

Admin-only feature. Only admin users can see the Team page and manage team members. Hosts and viewers cannot add or modify other users.

User Registration

BTConference supports public user registration so visitors can create their own accounts without being manually added by an admin.

Enabling Registration

Go to Settings and toggle Enable Public Registration to on. When enabled, the login page displays a "Create an account" link that takes visitors to the registration form. When disabled, the link is hidden and the registration page returns users to login.

Registration Form

The public registration form collects a name, email, and password. After submitting, the user is logged in automatically and redirected to the dashboard.

Default Role

All users who register through the public form are assigned the viewer role by default. Viewers can join meetings but cannot create, edit, or delete them. An admin can promote a user to host or admin from the Team page.

My Meetings

Registered users see a My Meetings page on their dashboard that shows:

  • Hosted meetings — meetings the user created (if promoted to host or admin)
  • Participations — meetings the user has joined as a participant
  • Bookings — meetings the user booked through the public booking page
Admin control. Registration can be turned on or off at any time from Settings. When disabled, existing registered users can still log in — only new sign-ups are blocked.

Bookings

BTConference includes a public booking page where clients can schedule meetings with you.

Setup

  1. Go to Settings › Bookings
  2. Set your Availability Schedule — choose which days and hours you are available
  3. Set Slot Duration (15, 30, 45, 60, or 120 minutes) and buffer time between slots
  4. For paid bookings: enter your Stripe publishable/secret keys and/or PayPal client ID/secret
  5. Share your booking page URL with clients

How Bookings Work

Clients visit the booking page, select a date from the calendar, pick an available time slot, and enter their name and email. For free bookings, the meeting is created instantly and a confirmation email is sent. For paid bookings, the client is redirected to Stripe Checkout or PayPal, and the meeting auto-creates on successful payment.

Multiple payment methods. You can enable both Stripe and PayPal. Clients choose their preferred method on the booking page.

Polls & Notes

Live Polls

Click Polls in the meeting toolbar. The host creates a poll with a question and 2-6 answer options, then clicks "Launch Poll." All participants can vote, and results update live with animated bar charts.

  • Polls sync across all participants in real time
  • Close a poll to lock voting and display final results
  • Poll results are saved and accessible from the admin panel after the meeting

Collaborative Notes

Click Notes in the meeting toolbar to open the shared notes panel. All participants see and edit the same document in real-time. Notes auto-save when the meeting ends and are accessible from the meeting details in the admin panel.

Dark/Light Mode

BTConference includes a dark/light mode toggle in the admin panel header. Click the moon/sun icon to switch between dark and light themes instantly. Your preference is saved to your browser and persists across sessions.

Meeting Templates

Save your Room Designer settings as reusable templates so you can quickly apply them when creating new meetings.

  • Save Template — after configuring the Room Designer, click "Save as Template" and give it a name. All theme, color, background, logo, and welcome message settings are stored.
  • Load Template — when creating a new meeting, select a saved template from the "Load Template" dropdown to apply all its settings instantly.
  • Delete Template — remove templates you no longer need from the template dropdown menu.
Tip: Templates are shared across your team, so any admin or host can use templates created by others.

Settings

Configure BTConference from the Settings page:

JaaS Configuration

  • Jitsi Server — defaults to 8x8.vc (JaaS)
  • App ID — your JaaS application ID
  • API Key ID — the short key ID from your JaaS dashboard
  • Private Key — contents of the .pk file downloaded from JaaS

Meeting Defaults

  • Start with Audio Muted / Start with Video Off
  • Pre-join Screen — preview audio/video before entering
  • Default meeting duration

Booking Settings

  • Availability schedule — days and hours
  • Slot duration and buffer time
  • Booking price (0 for free bookings)

SMTP Email

  • SMTP Host, Port, Username, Password
  • Encryption — TLS or SSL
  • From Name and From Address
  • SMTP passwords are stored encrypted in the database

Payment Keys

  • Stripe — publishable key and secret key
  • PayPal — client ID and secret (sandbox or live)

Theme Customization

  • Primary color, accent color, background color
  • Font family selection
  • Dark/light mode preference

Email Templates

  • Meeting invitation — sent when inviting participants
  • Booking confirmation — sent after a booking is made
  • Meeting reminder — sent before a scheduled meeting
  • Templates support variables like {meeting_title}, {join_link}, {date}, {time}

Site Branding

  • Site title and tagline
  • Logo upload — shown in the header, emails, and meeting rooms
  • Favicon upload

License

BTConference requires a valid license key to operate. Your license key is included in the order confirmation email sent after purchase, and is also available in your account dashboard.

Activating Your License

  1. Log in to BTConference as an admin
  2. Go to Settings and scroll to the License section at the bottom
  3. Enter your license key and click Activate
  4. A green Active badge confirms the license is valid

Deactivating Your License

To move your license to a different server, click Deactivate in the License section. This releases the domain so you can activate on a new install. Only admin users can see or manage the license.

One domain per license. Each license key is tied to a single domain. Deactivate before moving to a new server or domain.

One-Click Updates

BTConference checks for new versions automatically and notifies you right inside the dashboard — no FTP, no manual file uploads required.

How It Works

  • When a new version is available, a yellow pulsing button appears in the top navigation bar showing the new version number
  • A yellow banner also appears below the header as a secondary notice
  • Click the button and confirm to start the update
  • BTConference downloads the update package, extracts it, and copies the new files over your installation automatically
  • Your config.php, uploads, and license files are never overwritten during an update

Protected Files

The following files and folders are always skipped during an update to preserve your configuration and data:

  • includes/config.php — your database credentials and site settings
  • uploads/ — all uploaded files and media
  • includes/.license-data.json — your license key
Update check interval. BTConference checks for updates at most once every 12 hours to avoid unnecessary requests. Only admin users see the update notification.

Desktop App

BTConference includes standalone desktop applications for Windows and macOS. No browser needed — meetings run in a native window.

Download & Install (Windows)

  1. Download the BTConference Desktop app for Windows from your account downloads
  2. Extract the ZIP and run Setup.exe
  3. Click Install — creates shortcuts and registers the app
  4. Launch from your Desktop shortcut
  5. Go to Settings and enter your JaaS App ID

Download & Install (Mac)

  1. Download the BTConference Desktop app for Mac from your account downloads
  2. Double-click the downloaded file to extract
  3. Drag BTConference.app to your Applications folder
  4. Launch and go to Settings to enter your JaaS App ID

Features

  • Native window — full video meetings without a browser
  • System tray — minimize to tray, right-click for quick meeting
  • Keyboard shortcuts — Ctrl+N (new), Ctrl+J (join), Ctrl+, (settings)
  • Meeting history — recent meetings with one-click rejoin
  • Desktop notifications — alerts when meetings start
  • Auto-launch — optional start on system boot

Mobile App (PWA)

BTConference also works as a Progressive Web App on mobile devices. When participants visit a meeting link on their phone, they can install the app to their home screen. It opens in a standalone window like a native app.

  • Works on Android (Chrome) and iOS (Safari — Add to Home Screen)
  • No app store needed — installs directly from the browser
  • Runs in a standalone window without browser UI
Same JaaS account. The desktop app and mobile PWA use the same JaaS App ID as the web application. Meetings created in any of them can be joined from any of them.

Security

BTConference includes several security measures out of the box:

  • .htaccess protection — configuration files and sensitive directories are protected from direct access
  • Rate limiting — login attempts and API calls are rate-limited to prevent brute-force attacks
  • CSRF tokens — all forms include CSRF protection to prevent cross-site request forgery
  • Encrypted SMTP passwords — SMTP credentials are stored encrypted in the database, not in plain text
  • Password hashing — user passwords are hashed with bcrypt
  • Prepared statements — all database queries use prepared statements to prevent SQL injection
  • XSS protection — all user output is escaped to prevent cross-site scripting
HTTPS recommended. Browsers require HTTPS for camera and microphone access. Use an SSL certificate (free via Let's Encrypt) for the best experience.

FAQ

Do I need WordPress to use BTConference?
No. BTConference is a standalone PHP application. It runs on any server with PHP 7.4+ and MySQL. No CMS, no framework, no dependencies. If you want a WordPress plugin instead, check out WPConference.
How many participants can join a meeting?
JaaS free tier supports 25 monthly active users. Upgrade your JaaS plan at 8x8.vc for higher capacity, or self-host Jitsi for unlimited users.
What is the difference between BTConference and WPConference?
WPConference is a WordPress plugin that integrates with your WordPress site, users, and content. BTConference is a standalone PHP app with its own user system, installer, and admin panel. Choose BTConference if you do not use WordPress or want a dedicated meeting platform.
Can I accept payments for bookings?
Yes. BTConference supports Stripe and PayPal for paid bookings. Enter your API keys in Settings, set a price on your booking page, and clients pay before their booking is confirmed.
Is BTConference a subscription?
No. BTConference is a one-time purchase. You pay once and own it forever, including all future updates. The video infrastructure (JaaS) is free separately.
Does it work on mobile?
Yes. The meeting room works in mobile browsers. BTConference also supports PWA installation, so participants can add it to their home screen and use it like a native app on Android and iOS.
How do I update BTConference?
When a new version is available, a yellow pulsing button appears in your dashboard. Click it to update automatically — no FTP or manual file uploads needed. Your config, uploads, and license files are never touched during an update.
Can I move my license to a different server?
Yes. Go to Settings › License and click Deactivate. This releases your domain so you can activate the same key on a new server or domain.
BT
BT Assistant Ask me anything!