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 UTCWebhook notifications
When a scheduled post fires, OwlStack sends a schedule.fired or schedule.failed webhook. See Webhooks for setup.