⚙️

Automation / Workflows

Code-based automations that run ProcScript when Podio items are created, updated, deleted, or on a schedule.

Setup

  1. Go to /flows/ or select “Flows” from the main menu
  1. Add a Podio app - click “Add App” and select your app from Podio. ProcFu automatically registers webhooks (item.create, item.update, item.delete) on the app.
  1. Create a flow - name it, pick a trigger, write ProcScript code.
  1. Flows run automatically when the trigger event occurs.

Deleting an app removes all its flows and cleans up webhooks.

Triggers

CodeTypeEventPayload type
COn CreateItem created in Podioitem.create
UOn UpdateItem updated in Podioitem.update
DOn DeleteItem deleted in Podioitem.delete
TOn ScheduleTime-based (cron)flow.schedule

Schedule Configuration

For scheduled flows you can select the day and time the flow should queue, or every day and/or every hour. Note that flows are queued at this time. Execution would depend on system load at the time, so they may only trigger minutes after your selected scheduled time.

Payload

Every flow receives a $payload variable with context about the triggering event.

Always Present

KeyTypeDescription
typestringitem.create, item.update, item.delete, or flow.schedule
flow_idintFlow primary key
app_idintPodio app ID
item_idintPodio item ID (0 for scheduled flows)

On Create / On Update

KeyTypeDescription
item_fieldsobjectSimplified field values from flow_item_get

On Update Only

KeyTypeDescription
item_changesobject{field_external_id: {from: old, to: new}}
item_revision_idintPodio revision number

Accessing Payload in ProcScript

// Get the event type
$type = $payload["type"];

// Get item fields
$title = $payload["item_fields"]["title"];

// Check what changed (update only)
$status_change = $payload["item_changes"]["status"];
$old = $status_change["from"];
$new = $status_change["to"];

Flow Helper Functions

Additional ProcScript functions for fetching Podio data within flows. All return items in a simplified format (field values resolved to human-readable strings).

FunctionDescriptionKey Parameters
flow_item_get($item_id)Get simplified item fieldsitem_id
flow_item_comments_fetch($item_id, $limit)Get item commentsitem_id, limit (default 100, max 1000)
flow_related_fetch($item_id, $limit, $app_id, $field_id)Get related itemsitem_id, optional app_id/field_id filter
flow_view_fetch($app_id, $view_id, $limit)Get items from a Podio viewapp_id, view_id
flow_app_filter($app_id, $filter, $limit)Filter items by field valuesapp_id, JSON filter e.g. {"status":"Active"}
flow_app_search($app_id, $field_id, $val, $cond, $limit)Search items by fieldcondition: E=equals, C=contains

All other ProcScript functions, including standard Podio API functions (podio_item_get, podio_item_fields_update, podio_comment_create, etc.) are also available.

Testing & Debugging

Run on Item

The editor lets you test a flow against a real Podio item without waiting for a webhook. Select an item from the app, click Run — the flow executes with a full payload as if the trigger fired.

Syntax Check

Built-in linter validates ProcScript syntax without executing (parse-only lint mode).

Last Payload

Each flow stores the payload from its most recent execution. View it from the editor to inspect what data the flow received.

Logs

Flow executions are logged with start/complete messages and execution time. View logs per flow from the editor. Errors (exceptions, usage limits) are also captured.

AI Assistant

The flow editor includes an AI code generator. Describe what you want in natural language — AI returns ProcScript code with a diff view. The AI has access to:

  • ProcScript documentation
  • The flow's Podio app structure (fields, types)
  • Podio tools for inspecting items and tasks

Usage & Billing

Each flow execution counts as 1 action against account usage limits. Usage is checked before execution — if limits are exceeded, the flow throws "Account Usage Limits Exceeded" and logs the error.

If a user's account becomes inactive, their flows are automatically paused.