System / Connections

Connections 5 integrations 2 OK · 2 warn · 1 idle

S
D
G
B
I
System health

1 action needed in the next 48 hours

Drive token expires Tue 18 May · 14:00 IDT. Renew before then or content asset discovery will fail silently.

SSpotify71%
DDrive48h
GGmail41%
BBuffer78%
IInstagram
OK · connected Warn · attention Error · failing Idle · not connected
S

Spotify Web API

Connected since 14 Mar
Account ohad@gmail.com Scope playlist · user · ugc
Rate-limit quota ↻ resets in 48m
71%
7,142 of 10,000 calls/hour
14:02 GET /playlists/…/tracks 200 · 142ms
14:01 PUT /playlists/…/tracks 200 · 188ms
13:58 GET /me/playlists 200 · 96ms
OAuth credentials (Client ID / Secret)
D

Google Drive OAuth + service account

Expires in 2 days since 21 Feb
48h
until token expiry
0h now ▾ 50h
If not renewed by Tue 18 May 14:00 IDT, content asset discovery will fail silently.
Service acct ymusic-bot@gserviceaccount.com Folder /ymusic/assets · 4 sub-folders Enabled
Drive settings (folder ID, service account, OAuth)
API quota ↻ resets in 04:00
28%
2,800 of 10,000 requests/day
G

Gmail submissions polling

Connected · auto-syncing since 21 Feb
Account ohad@gmail.com Poll Every 15 min Auto-sync Auto-pull new pitches every poll cycle
Daily quota ↻ resets at 00:00 PT
41%
410 of 1,000 quota units
13:54 Poll · 12 new pitches 200 · 4 bilingual
13:39 Poll · no new 304 Not Modified
B

Buffer social publishing

78% quota · 1 fail today since 14 Mar
Org ymusic · 3 channels Routes IG main · IG close-friends · IG stories
Daily publishes ↻ resets at 00:00 IDT
7 / 10
API credentials & channel configuration

Uncheck platforms that keep failing in Buffer to stop receiving failure emails. Instagram is published natively when connected.

I

Instagram Meta Graph API · for native publish

Not connected Currently publishes via Buffer; native unlocks scheduling + Story insights.
@
Redirect URI · pre-flight check
Public base URL
https://spotify-seo.ymusic.co.il
reachable
Computed redirect_uri
https://spotify-seo.ymusic.co.il/auth/instagram/callback
Match in Meta dashboard
paste the redirect_uri into Meta → App → OAuth settings before connecting
Open Meta
We validate redirect_uri before redirecting to Meta — never silent OAuth errors.
Defaults govern every playlist that doesn't override them. Per-playlist overrides live in the Rules tab inside Publish.
Shuffle

Default strategy & placement

Default strategy
Applied when a playlist has no rule override.
Top-Heavy Popularity Freshness Genre-Aware Full Top 5 Smart
Default top slots
First N positions reserved for protected artists.
5
SEO

Defaults for every playlist's metadata

Bilingual date-stamp
Current date appended to every description in English and Hebrew.
AEO "Sounds like" tags
Reference artists appended per playlist; refresh weekly.
AEO trending limit
Max reference artists per playlist (aeo_trending_limit).
5
Content pipeline

Reel limits & rotation guard

Reels per day
Soft cap — 5 is Instagram's hard limit.
1
Max consecutive per artist
Force rotation — don't publish same artist twice in a row.
2
Story queue recycling
Reuse older stories when queue is empty (story_recycle_enabled).
Rotate artists
Prevent the same artist dominating the queue (content_reel_rotate_artists).
Feature flags

Experimental — toggle with care

Veo reel generation
content_veo_reel_enabled · ~$0.40 per 8s reel.
Released tracks only
content_released_tracks_only — skip unreleased tracks in queue.
Buffer auto-retry
content_buffer_auto_retry — re-queue reels after Buffer 429.
Story pipeline

Instagram story scheduling & recycling

Publisher
Where stories are sent (story_publisher).
Auto-queue stories
Automatically enqueue eligible stories on schedule (story_auto_queue).
Catch-up per day
Max new stories per day when catching up (story_catchup_per_day · 3–5).
4
Catch-up interval (hours)
Min hours between catch-up publishes (story_catchup_interval_hours · 2–4).
2.5
Maintenance per day
Stories when queue is healthy (story_maintenance_per_day · 1–3).
1
Recycle stories
Reuse older stories when queue is empty (story_recycle_enabled).
Recycle min age (days)
Min days before a story can be recycled (story_recycle_min_days).
14
Push to Highlights
Auto-add approved stories to IG Highlights (story_highlights_enabled).
Highlights account username
instagram_highlight_username — Instaloader account for Highlights push.
Highlights account password
instagram_highlight_password — stored encrypted.
Gemini / AI

API keys, models & generation settings

Gemini API key
gemini_api_key — used for all Gemini / Veo calls.
Text model
gemini_model — default model for copy generation.
Gemini image generation
content_gemini_image_enabled — generate cover art via Gemini Imagen.
Image model
content_gemini_image_model
Veo reel model
content_veo_model — Veo model identifier.
Veo clip duration (seconds)
content_veo_seconds · 4–8 s.
8
Mux Drive audio onto Veo reel
content_veo_mux_drive_audio — replace generated audio with master from Drive.
Content automation

Auto-queue, discovery & trial settings

Auto-queue daily content
content_auto_queue_daily — schedule today's slots automatically each morning.
Auto-discover reels from Drive
content_auto_discover_reels — scan Drive for new reel drafts each scan cycle.
Auto-plan week
content_auto_plan_week — generate next 7-day content calendar every Sunday.
Copy fallback
content_copy_fallback_enabled — use pre-written copy if Gemini is unavailable.
Force fallback copy
content_copy_force_fallback — always use fallback, skip Gemini entirely.
Trial reel mode
content_trial_reel — test new artists with one reel before full rotation.
Trial + regular reel
content_trial_and_regular_reel — also post as a regular reel simultaneously.
Trial graduation
content_trial_graduation — how a trial reel earns full placement.
Gmail sync

Inbox polling & auto-sync

Gmail auto-sync
submissions_gmail_auto_sync — automatically pull new pitches on each poll cycle.
Poll interval (minutes)
submissions_gmail_poll_interval_minutes · 5–120 min.
15
Social scheduler

Background scheduler loop

Scheduler enabled
social_scheduler_enabled — run background publish + sync loop.
Run interval (minutes)
social_scheduler_interval_minutes · 15–1440 min.
60
6 scheduled jobs · all idle/healthy. Edit cron via the chip — popular presets are one click. Anything that hits Spotify respects rate-limit.
Job Schedule Last run Next run Status
Daily shuffle
Apply Both on all pinned · Top-Heavy
04:00 IDT daily today 04:00 200 tomorrow 04:00 healthy
Gmail poll
Pull new pitches from inbox
every 15 min 13:54 12 new 14:09 healthy
Drive asset scan
Discover new releases in /ymusic/assets
every 4h today 02:00 3 found today 06:00 token soon
Story queue
Publish queued stories via Buffer
09:00 IDT daily today 09:00 2/2 tomorrow 09:00 healthy
Reel publish
Daily Veo-generated reels
12:00, 18:00 daily today 12:00 1/2 today 18:00 queued
Activity log compaction
Archive events older than 90 days
Sun 03:00 weekly Sun 03:00 412 rows Sun 03:00 healthy
Public base URL · OAuth callbacks

Where every OAuth provider sends its redirect

Reachable · TLS valid · cert expires 12 Dec
This is the URL Spotify, Drive, Gmail, and Meta all redirect back to after OAuth. Must match the redirect_uri registered with each provider.

Computed redirect URIs · paste these into each provider

S
Spotify Web API
https://spotify-seo.ymusic.co.il/auth/spotify/callback
matches
D
Google OAuth (Drive + Gmail)
https://spotify-seo.ymusic.co.il/auth/google/callback
matches
B
Buffer (API key, no redirect)
n/a · uses static API key
I
Instagram (Meta Graph)
https://spotify-seo.ymusic.co.il/auth/instagram/callback
not yet connected
Why we check redirect_uri before OAuth. Meta returns a generic "App Not Setup" error if its registered redirect_uri doesn't match exactly — including trailing slashes and casing. This screen surfaces the mismatch before the user is redirected.