Process Approved
The Process Approved workflow schedules all approved content to Postiz at optimal times.
Process Approved is the bridge between your approval queue and your publishing schedule. It picks up everything you've approved and sends it to Postiz with scheduled times.
What it does
- Finds all approved content: Queries the database for all items with
approvedstatus that don't yet have apostiz_id(i.e., not yet scheduled). - Calculates optimal posting times: SchedulerService determines the best time for each item based on your scheduling config (preferred days/times, minimum gap between posts, platform best practices).
- Sends to Postiz: QueueService calls the Postiz API to create a scheduled post for each item.
- Stores the Postiz ID: The
postiz_idreturned by Postiz is stored in the content item's metadata. This links the Borker record to the Postiz schedule entry. - Updates status to
scheduled: The item is now committed to a posting time.
What "optimal time" means
Borker doesn't post everything at once. SchedulerService spaces posts out based on:
- Your preferred posting days and times (Settings → Scheduling)
- Minimum gap between posts: avoids flooding your feed with back-to-back posts
- Platform best practices: e.g., LinkedIn performs better on weekday mornings, X threads can go out any time
The first available slot that satisfies all constraints is used. If you have 10 approved posts and only 5 slots available this week, the other 5 are scheduled for next week.
When to run it
After a review session. The typical flow:
- Run the daily workflow → content lands in
pending_review - Open the Approval Queue → review, edit, approve
- Run Process Approved → everything approved gets scheduled
You can also run it on a schedule (e.g., every evening) to automatically pick up anything approved during the day.
Process Approved is safe to run multiple times. It only touches items with approved status and no postiz_id. Already-scheduled items are untouched.
Canceling a scheduled post
After Process Approved runs, the post is in Postiz's queue. If you need to cancel it:
- Open the calendar and click the scheduled post
- Click the cancel button in the modal
- Borker calls
PostizService.cancelPost(), which cancels it in Postiz and reverts the status toapproved
The post re-enters approved status and can be rescheduled later or rejected.