Version: 1.0.0Documentation Index
Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
Use this file to discover all available pages before exploring further.
Last Updated: 2026-03-18
Status: Active
Module: FW
Edge Function: workflow-executor-worker
Trigger: pg_cron (every minute)Auth: Service role (via
util.invoke_edge_function)
Response Contract
Error Response
RPC: fw_enqueue_form_submission_automation
Purpose: User-callable enqueue path for form-submission automation (Path A fallback).
Signature
Parameters
| Parameter | Type | Description |
|---|---|---|
p_form_id | UUID | Form definition ID |
p_submission_id | UUID | Form submission record ID |
p_organization_id | UUID | Organization ID (validated via fw_has_org_access()) |
Returns
UUID of the createdfw_workflow_executions record, or NULL if no matching rules found.
RPC: fw_claim_queued_executions
Purpose: Fallback claim path when pgmq is unavailable. Uses FOR UPDATE SKIP LOCKED.
Signature
Parameters
| Parameter | Type | Description |
|---|---|---|
p_batch_size | INTEGER | Max records to claim (1–50) |
p_org_id | UUID | Organization ID filter |
Behavior
- Selects
fw_workflow_executionswithstatus IN ('queued', 'retry_pending')andnext_retry_at <= now() - Locks rows with
FOR UPDATE SKIP LOCKED - Updates status to
running - Returns claimed records
Queue Message Schema
workflow_execution_queue Message
workflow_dlq Message
Semaphore Columns (fw_module_settings)
| Column | Type | Description |
|---|---|---|
worker_running | BOOLEAN | Per-org lock; true while worker processes |
worker_last_run_at | TIMESTAMPTZ | Last successful semaphore acquisition |
worker_last_batch_size | INTEGER | Messages processed in last run |