LiveScheduler is a web application that automates the creation of your recurring YouTube live streams. Instead of manually recreating each broadcast week after week, you define a recurrence rule (frequency, date range, time, title, options) and LiveScheduler automatically generates each occurrence as a real YouTube broadcast — ready to go live.
LiveScheduler uses Google sign-in exclusively. There is no password to create.
LiveScheduler requests access to your YouTube account (youtube.force-ssl) in order to:
These permissions are required for the application to function. If you deny them, the application will not be able to create live streams on YouTube.
If your YouTube channel is managed through a Brand Account (Google brand account), select that account when signing in. The displayed email address may be a synthetic address (@pages.plusgoogle.com) — this is normal.
The interface is available in French, English, and Spanish. The language selector (globe icon, top right) is available on all pages. Your preference is saved to your profile.
The dashboard is the main page of the application, accessible via "Dashboard" in the navigation.
Each row in the table shows:
| Column | Content |
|---|---|
| Live Title | The title configured for the series |
| Frequency | E.g.: "Every week", "Every 3 days" |
| Period | The start and end dates of the rule |
| Time | The broadcast time |
| Actions | Pencil icon (edit) · Trash icon (delete) |
If you haven't created any recurrences yet, the table displays "No recurrences scheduled yet."
Click "+ New Recurrence" from the dashboard. The form is divided into three sections.
These settings serve as the template for all generated occurrences.
The title that will appear on YouTube for each broadcast. You can edit it later for an individual live or propagate a new title to all future lives by editing the recurrence.
You can include tokens in the title (and in the description) so that each live automatically receives a title reflecting its own date. LiveScheduler replaces each token with the corresponding value at generation time.
| Token | Example | Description |
|---|---|---|
{day} |
Wednesday | Full weekday name |
{day_short} |
Wed | Short weekday name |
{date} |
8 | Day number (no leading zero) |
{date_padded} |
08 | Day number, 2 digits |
{month} |
August | Full month name |
{month_short} |
Aug | Short month name |
{month_number} |
08 | Month number, 2 digits |
{year} |
2025 | 4-digit year |
{year_short} |
25 | 2-digit year |
{time} |
20:00 | Live time (HH:mm) |
Examples:
"Live — {day} {date} {month}" → "Live — Wednesday 8 August""Episode {date}/{month_number}/{year}" → "Episode 08/08/2025""Class on {day_short} at {time}" → "Class on Wed at 20:00"The form shows a live preview below the title field as soon as you type a token. Clickable buttons let you insert tokens directly into the title or description without typing them manually.
Token language: day and month names are generated in your interface language (French, English, or Spanish), based on your saved profile preference.
Tokens in the description: the same tokens work in the description field. Each live will receive its own description with its date resolved.
The YouTube broadcast description. Supports line breaks. Also supports date tokens (see above).
Three options:
Tip: Choosing "Private" lets you review each broadcast before making it public.
By default, each YouTube broadcast is created immediately when the recurrence is validated — it appears on YouTube as soon as the task is processed.
The "Early publication (hours)" field lets you defer that creation: the broadcast will only be created on YouTube N hours before the scheduled broadcast time.
Example: a live scheduled for Thursday at 20:00 with "Early publication = 48" will only be created on YouTube on Tuesday at 20:00 (48 hours before).
How to use:
48, 24, 72) to defer the YouTube creationBehaviors once validated:
Note: Scheduled lives (blue) cannot be synced from YouTube or edited via YouTube Studio — the broadcast does not yet exist. The "Sync from YouTube" button is hidden for these lives.
Expand the "Advanced YouTube Settings" section to access the following options. They map directly to the YouTube Data API v3 settings.
| Option | Default | Description |
|---|---|---|
| Live duration (minutes) | empty | Sets the scheduled end time. Leave empty to not set one. |
| Monitor stream | Enabled | Allows you to preview the live before its public broadcast. |
| Broadcast delay (ms) | 0 | Delay between your source stream and the public broadcast, from 0 to 900,000 ms. Requires monitor stream enabled. |
| Auto start | Disabled | The live starts automatically when the incoming stream is detected. |
| Auto stop | Disabled | The live stops automatically when the stream is interrupted. |
| Closed captions | Enabled | Enables YouTube automatic captions. |
| DVR | Enabled | Allows viewers to rewind within the live stream. |
| Embed | Enabled | Allows embedding the player on third-party websites. |
| Record from start | Enabled | Automatically records the replay from the beginning of the live. |
| Made for kids | Disabled | COPPA legal declaration. Disables chat, Super Chats, and some ads. |
Upload an image that will be sent to YouTube as the broadcast thumbnail.
Limitation: The thumbnail cannot be set at the time the YouTube broadcast is created. It is uploaded asynchronously in a second step. If an error occurs during the upload, broadcasts will still be created — but without a thumbnail.
These settings define when and how often your lives are generated. They cannot be changed after the recurrence is created.
Combine an interval (integer ≥ 1) and a unit:
The date of the first broadcast. It must be in the future. If the date is today, the live time must also be in the future.
The date of the last possible occurrence. The application generates occurrences up to this date (inclusive if applicable), up to a maximum of 100 occurrences.
Example: For a weekly live from January 1 to December 31, 52 occurrences will be generated.
The time at which each broadcast will be scheduled. It is interpreted in your browser's timezone, automatically detected on first access.
Click "Validate and Generate". If there are validation errors (missing required field, date in the past, etc.), the form remains displayed with errors highlighted in red.
Once validated, LiveScheduler:
ScheduledLive) and assigns their initial statusStatus assigned at generation:
Colors update in real time without reloading the page.
During your 30-day free trial:
Once the trial ends, your account becomes read-only. You can still view the calendar, delete lives, and sync from YouTube, but creating and editing recurrences is disabled.
Click the pencil icon on the dashboard to edit an existing recurrence.
Changes are applied to all unlocked future lives linked to this recurrence. Past lives (whose scheduledAt has already passed) are never modified.
If the title or description contains date tokens (e.g. {day}), they are re-resolved for each live using each occurrence's own date during propagation.
"Unlocked future lives" means: lives whose date is in the future AND whose "Locked" checkbox is not checked. See §8 — Locking.
At the bottom of the form, a "Also update locked lives" checkbox lets you force propagation to locked lives. Unchecked by default — use with caution if you have specially configured individual episodes.
The thumbnail is sent to lives that already have a youtubeBroadcastId (i.e., whose YouTube creation is complete). Lives still waiting to be created do not receive the updated thumbnail — they will use the old thumbnail or none.
Click the trash icon on the dashboard. A confirmation modal appears.
By default, locked lives are kept even if their parent recurrence is deleted. Check this box to include them in the deletion.
Warning: Deletion is permanent. Broadcasts deleted on YouTube cannot be restored from LiveScheduler.
The calendar is displayed below the recurrence table on the dashboard. It shows all your scheduled lives.
Navigate between views using the tabs at the top right of the calendar. Use the arrows to change the period.
| Color | Meaning |
|---|---|
| Gray | Past live (date passed) |
| Blue | Scheduled — YouTube creation deferred (early publication delay not yet reached) |
| Orange | Pending — YouTube sync not yet performed |
| Green | Synced — the broadcast exists on YouTube |
| Red | Sync error |
Colors update in real time without reloading the page, as asynchronous tasks are executed.
Clicking on a calendar event opens the live modal. It shows:
The default (read-only) view shows the live's description and visibility. The title, date, and status are in the modal header and footer.
Click "Edit" in the modal. A form appears with:
Click "Save" to confirm. Changes are sent to YouTube asynchronously (the status turns orange then returns to green once synced).
Note: Editing an individual live does not affect the other lives in the same recurrence.
A Scheduled live (blue) has its YouTube creation deferred. If you want to create the broadcast on YouTube immediately — without waiting for the scheduled delay to elapse — click "Publish now" in the modal footer.
Effect: the live immediately switches to Pending status (orange) and a YouTube broadcast creation task is dispatched right away. The usual flow then applies: the live turns green once created.
"Publish now" is only visible for lives with Scheduled status (blue).
A locked live is protected against propagation of changes from its parent recurrence.
When to lock?
Automatic behavior: When you modify a field in the live edit form (other than the Locked checkbox itself), the checkbox automatically checks to signal that this live will diverge from its series. You can uncheck it if you don't want to lock.
Unlock: Simply uncheck the "Lock this live" checkbox and save. The live will become editable again via actions on the parent recurrence.
Click "Delete" in the modal. Confirmation is requested. The deletion:
youtubeBroadcastId existed)Warning: This action is irreversible. The YouTube broadcast is permanently deleted.
Syncing allows you to pull back into LiveScheduler the changes you made directly in YouTube Studio (title, description, visibility, advanced options).
From the dashboard, click "Sync from YouTube". A confirmation modal summarizes the behavior:
WAITING) or error (ERROR) status are not affectedClick "Sync" to start. A confirmation message indicates the number of lives affected. The calendar updates progressively — follow the colors.
In the live modal, if the live's status is "Synced" (green) and it has a youtubeBroadcastId, the "Sync from YouTube" button is visible. Click it to sync only this live.
Only lives with UP_TO_DATE status (synced, green) and a YouTube identifier can be synced. Lives that are pending, in error, or currently syncing are excluded.
Access the billing page via "Billing" in the navigation.
All new accounts start with a 30-day free trial, no credit card required. During the trial, you get full access to all features, with one constraint: the end date of your recurrences cannot exceed 30 days from today.
When the trial ends, if you have not subscribed, your account becomes read-only:
To regain full access, subscribe from the Billing page.
The subscription removes the 30-day planning horizon constraint and ensures continuous access to all features, with no limit on the number of recurrences or lives per rule (up to 100 occurrences per rule).
| Plan | Price | Savings |
|---|---|---|
| Monthly | €5/month | — |
| Annual | €50/year | 2 months free |
Important: The payment form opens in a new tab / redirects to Stripe. If nothing happens, check that your browser is not blocking redirects.
For subscribers, the "Manage my subscription" button opens the Stripe billing portal. There you can:
| Badge | Meaning |
|---|---|
| Trial · X days | Free trial in progress, X days remaining |
| Active | Active subscription |
| Payment overdue | Payment failed — your access is temporarily maintained. Update your payment method via "Manage my subscription" as soon as possible. |
| Trial expired | Trial ended, read-only access. Subscribe to regain full access. |
Access when payment is overdue: A user with an overdue payment retains access until Stripe cancels the subscription (typically after several attempts over a few days). Update your payment method promptly to avoid a service interruption.
Account deletion is available at the bottom of the Billing page, in the "Delete account" section.
This action is permanent and irreversible. It is not possible to recover your data after deletion.
Q: Can I use LiveScheduler with multiple YouTube channels? A: No, a LiveScheduler account is linked to a single Google/YouTube account. To manage multiple channels, you need to create a separate account for each.
Q: Can I change my Google account? A: Not directly. The only way to change accounts is to delete your LiveScheduler account and create a new one with the other Google account.
Q: Does the application use my email address? A: Your email address is retrieved from Google for internal identification purposes only. LiveScheduler does not send you emails.
Q: Can I use tokens in an individual live's title (from the calendar modal)?
A: No. Tokens are only resolved when a recurrence is generated or when recurrence changes are propagated. If you type {day} directly in an individual live's edit form (calendar modal), the token will be stored literally, without being replaced.
Q: In which language are day and month names generated? A: In your interface language at the time of generation (French, English, or Spanish, based on your saved profile preference). To change the language of your titles, update your language preference using the selector in the top right, then regenerate your lives.
Q: A token I used doesn't seem to work — what should I check?
A: Verify the exact spelling of the token (lowercase, curly braces). Valid tokens are: {day}, {day_short}, {date}, {date_padded}, {month}, {month_short}, {month_number}, {year}, {year_short}, {time}. Any unrecognised token is left as-is in the title (no error is raised).
Q: Can I change the frequency or dates of a recurrence after creation? A: No. The frequency, start/end dates, and live time are fixed at creation. If you need to change these settings, delete the recurrence and create a new one.
Q: Why weren't all my lives generated? A: The 100 occurrences per rule limit was reached — generation stops at 100 even if the date range would allow more.
Q: How long does it take for broadcasts to appear on YouTube? A: Broadcasts are created asynchronously by background workers. Generally, the operation takes a few seconds to a few minutes depending on load. You can track progress using the calendar colors (orange = pending, green = created).
Q: What happens if a broadcast creation fails? A: The live switches to Error status (red). LiveScheduler automatically retries up to 3 times. If all attempts fail, the live remains in error. Common causes: expired or revoked OAuth token, exceeded YouTube quota, network issue. Try signing out and back in with Google if the problem persists.
Q: What do the different statuses mean?
| Status | Color | Meaning |
|---|---|---|
| Scheduled | Blue | YouTube creation is deferred — the early publication window has not yet been reached |
| Pending | Orange | The create/update task on YouTube has not yet been processed |
| Synced | Green | The broadcast exists on YouTube and matches the local state |
| Error | Red | An error occurred during synchronization with YouTube |
| Sync from YouTube pending | Orange | A sync from YouTube is being processed |
Q: My live has been in Error for a long time — what should I do? A: Try signing out and back in with Google to renew the OAuth token. If the problem persists, check that your YouTube Data API quota is not exhausted (managed from the Google Cloud Console).
Q: What is the difference between a locked and an unlocked live? A: An unlocked live is automatically updated when you edit the parent recurrence. A locked live is skipped during those updates — its settings remain as you individually configured them.
Q: The "Locked" checkbox checked itself — is that normal? A: Yes. When you modify a field in the live edit form, the checkbox automatically checks to indicate that this live will diverge from its series. You can uncheck it manually if you don't want to lock this live.
Q: Can I edit a locked live? A: Yes. Locking does not prevent individual editing — it only protects against automatic propagation from the parent recurrence. You can edit all fields of a locked live normally.
Q: Why are some of my lives blue on the calendar? A: A blue live has Scheduled status. It is waiting for its early publication window to be reached before the YouTube broadcast is created. This happens when you configured the "Early publication (hours)" field and that delay has not yet elapsed.
Q: How long does it take for a Scheduled live to turn orange? A: A background scheduler checks every minute for Scheduled lives whose publication window has been reached. The transition from blue to orange (and the YouTube broadcast creation) happens automatically within one minute.
Q: Can I force immediate creation of a Scheduled live? A: Yes. Click on the live in the calendar to open the modal, then click "Publish now". The live immediately switches to Pending (orange) and the broadcast is created on YouTube right away.
Q: Can I sync a Scheduled live from YouTube? A: No. The "Sync from YouTube" button is not available for Scheduled lives — the broadcast does not yet exist on YouTube. Wait until the live transitions to Synced (green) to use sync.
Q: What happens if I edit the "Early publication" delay on an existing Scheduled live?
A: The scheduledPublishAt date is recalculated from the new delay. If the new window has already passed, the live immediately transitions to Pending on the next scheduler pass.
Q: Does syncing from YouTube overwrite all my data? A: It overwrites the title, description, visibility, and all advanced YouTube options. If a live was modified on YouTube, it will be automatically locked after syncing.
Q: Are thumbnails synced? A: No. Thumbnails are not synced (the API returns a URL, not the original file). If you changed a thumbnail on YouTube, that change is not reflected in LiveScheduler.
Q: What happens if a broadcast was deleted on YouTube? A: During a sync, if a broadcast no longer exists on YouTube, the corresponding live is deleted from LiveScheduler.
Q: Can I sync a live that is in Error? A: No. Only lives with Synced (green) status can be synced from YouTube. Lives that are pending or in error are excluded.
Q: Is the thumbnail stored on LiveScheduler's servers? A: No. The thumbnail is sent directly to YouTube and deleted from LiveScheduler's servers after a successful upload. If the upload fails permanently (after 3 attempts), the file may temporarily remain on the servers — but it is not publicly accessible.
Q: My thumbnail isn't showing on YouTube — why? A: Thumbnail upload is a separate operation from broadcast creation, processed asynchronously. There may be a delay. If the thumbnail still doesn't appear after a few minutes, check whether an error occurred (the live may be in Error status). You can re-upload the thumbnail by editing the live individually.
Q: Can I cancel at any time? A: Yes. Via "Manage my subscription" on the Billing page. Cancellation takes effect at the end of the current billing period.
Q: My subscription is cancelled — what happens to my data? A: Your data remains accessible in read-only mode. You can still view your calendar, delete lives, and sync from YouTube, but you can no longer create or edit recurrences. To regain full access, you can resubscribe.
Q: I subscribed to the monthly billing and want to switch to annual — how does that work? A: From the Billing page, click "Manage my subscription" then select "Switch plans" in the Stripe portal. The switch is immediate with prorating: you only pay the difference for the remainder of the current period.
Q: A payment failed — will I lose access immediately? A: No. In case of a payment failure, your account switches to Payment overdue status and you retain access until Stripe cancels the subscription (typically after several attempts over a few days). Update your payment method via "Manage my subscription" as soon as possible.
Q: What data does LiveScheduler store about me? A: Email, account name, Google OAuth tokens (access token + encrypted refresh token), detected timezone, language preference, Stripe billing data (customer ID, subscription ID, status). No credit card data is stored — it is managed exclusively by Stripe.
Q: Are my YouTube broadcasts deleted if I delete my account? A: Only future lives — LiveScheduler deletes upcoming broadcasts from YouTube when the account is deleted. Past lives are never deleted from YouTube: they belong to your channel's history and remain accessible from YouTube Studio.