BorkerBorker Docs
Workflows

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

  1. Finds all approved content: Queries the database for all items with approved status that don't yet have a postiz_id (i.e., not yet scheduled).
  2. 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).
  3. Sends to Postiz: QueueService calls the Postiz API to create a scheduled post for each item.
  4. Stores the Postiz ID: The postiz_id returned by Postiz is stored in the content item's metadata. This links the Borker record to the Postiz schedule entry.
  5. 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:

  1. Run the daily workflow → content lands in pending_review
  2. Open the Approval Queue → review, edit, approve
  3. 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:

  1. Open the calendar and click the scheduled post
  2. Click the cancel button in the modal
  3. Borker calls PostizService.cancelPost(), which cancels it in Postiz and reverts the status to approved

The post re-enters approved status and can be rescheduled later or rejected.

On this page