FoPost LogoFoPost Docs
Pro Features

Scheduling

Schedule posts for future publishing.

Scheduling

Pro

Schedule posts to be published at a specific time in the future.

Schedule a post

use OwlStack\Content\Post;
use OwlStack\Enums\Platform;

$post = Post::create('This will be published tomorrow!')
    ->withUrl('https://example.com/tomorrow');

$schedule = $client->schedule($post, [
    Platform::Twitter,
    Platform::LinkedIn,
], publishAt: new DateTime('2026-02-15 09:00:00', new DateTimeZone('UTC')));

echo "Scheduled: {$schedule->id()}";
echo "Fires at: {$schedule->publishAt()->format('Y-m-d H:i:s')}";

Cancel a scheduled post

$client->cancelSchedule($schedule->id());

List scheduled posts

$schedules = $client->listSchedules();

foreach ($schedules as $schedule) {
    echo "{$schedule->id()}: {$schedule->publishAt()}\n";
}

Recurring schedules

For recurring publishing, use cron expressions:

$schedule = $client->scheduleRecurring($post, [
    Platform::Twitter,
], cron: '0 9 * * 1-5'); // Every weekday at 9 AM UTC

Webhook notifications

When a scheduled post fires, OwlStack sends a schedule.fired or schedule.failed webhook. See Webhooks for setup.

On this page