Skip to main content

YouTube

The YouTube integration allows you to automatically match uploaded conference recordings to talks, update video metadata (titles and descriptions) from conference data, and organize videos into playlists.

Overview

The typical workflow is:

  1. Record talks at the conference (optionally using the OBS integration)
  2. Upload recordings to a YouTube channel
  3. Connect the YouTube channel to your event in Confo
  4. Confo matches videos to talks using pretalx codes
  5. Sync video titles, descriptions, and playlist membership

Google Cloud Setup

Before using the YouTube integration, you need to create OAuth 2.0 credentials in the Google Cloud Console.

1. Create a Google Cloud Project

  1. Go to the Google Cloud Console
  2. Create a new project (or use an existing one)
  3. Enable the YouTube Data API v3 under APIs & Services > Library
  1. Go to APIs & Services > OAuth consent screen
  2. Choose External user type
  3. Fill in the required fields (app name, support email)
  4. Add the scope: https://www.googleapis.com/auth/youtube.force-ssl
  5. Add your Google account as a test user (required while the app is in testing mode)

3. Create OAuth Credentials

  1. Go to APIs & Services > Credentials
  2. Click Create Credentials > OAuth client ID
  3. Choose Web application
  4. Add your Confo instance URL to Authorized redirect URIs:
    https://your-confo-domain.com/api/admin/youtube/callback
  5. Note the Client ID and Client Secret

4. Configure Environment Variables

Set these on the Confo backend container:

YOUTUBE_CLIENT_ID=your-client-id.apps.googleusercontent.com
YOUTUBE_CLIENT_SECRET=your-client-secret

Connecting a YouTube Channel

  1. Log in to Confo as a superadmin or event admin
  2. Navigate to Admin > Events > select your event
  3. In the YouTube section, click Connect YouTube
  4. You will be redirected to Google to authorize access
  5. After authorizing, you are redirected back to Confo with the channel connected

Confo stores a refresh token so the connection persists across sessions.

Video-to-Talk Matching

Confo matches YouTube videos to talks using pretalx codes. The matching logic extracts the first token (word before any space) from each video title and compares it (case-insensitive) against the pretalx codes of talks in the event.

For example, if a video is titled:

ABC123 - My Talk Title

Confo extracts ABC123 and matches it to the talk with pretalx code ABC123.

Running the Match

  1. In the YouTube section of your event, click Match Videos
  2. Confo fetches all videos from the connected channel and attempts to match them to talks
  3. Review the match results before proceeding to sync
tip

Make sure your video titles start with the pretalx code for automatic matching to work. For example, when uploading recordings, name them like TALKCODE - Speaker Name - Talk Title.

Metadata Sync

After matching videos to talks, you can sync video metadata using customizable templates.

Template Variables

The following variables are available in title and description templates:

VariableDescriptionExample
{{name}}Talk titleBuilding Scalable Systems
{{speakers}}Speaker name(s)Jane Doe
{{abstract}}Talk abstract/descriptionIn this talk we explore...
{{pretalx_id}}Pretalx codeABC123

Example Templates

Title template:

{{name}} - {{speakers}}

Description template:

{{name}}
Speaker: {{speakers}}

{{abstract}}

Running the Sync

  1. Configure your title and description templates in the YouTube section
  2. Optionally set a playlist ID to add matched videos to a playlist
  3. Click Sync to update video metadata and add videos to the playlist

Confo will:

  • Update each matched video's title and description using the templates
  • Add each matched video to the configured playlist (if set)
  • Track which videos have been synced to avoid duplicate updates

Playlist Management

You can configure a YouTube playlist ID in the event's YouTube settings. When syncing, Confo automatically adds all matched videos to this playlist. Videos that are already in the playlist are skipped.