Scheduling
Schedule a post
sfeed post "content" --at "2026-04-01T09:00:00Z" The post is sent to the sfeed cloud scheduler, which checks for due posts every minute and fires them using your stored tokens.
How it works
Facebook: uses native scheduling through the Facebook API. The post is sent directly to Facebook with a scheduled_publish_time parameter. Precise timing.
Instagram: stored in the sfeed cloud scheduler (Cloudflare D1 database). A Cron Trigger checks every minute for due posts. Your tokens (stored during sfeed auth) are used to publish.
List scheduled posts
sfeed schedule list Cancel a scheduled post
sfeed schedule cancel <id> What's stored server-side
When you schedule a post, the following is sent to the sfeed server:
- Your random user ID (not your name or email)
- The post content
- Target platform
- Scheduled time
- Media URLs (if any)
Your tokens are already stored server-side from when you ran sfeed auth facebook.
Local scheduling (self-hosted)
If you're self-hosting (using your own Facebook App credentials), scheduling uses a local daemon instead of the cloud:
sfeed daemon This checks ~/.sfeed/schedule.json every 30 seconds and fires due posts. You need to keep it running for scheduled posts to work.