n8n integration must be enabled and configured in Admin → Settings → Integrations → n8n. A self-hosted or n8n Cloud instance URL and API key are required.
n8n Workflows API
All workflow endpoints are restricted to Staff users with thepage.settings.configuration permission.
List workflows
GET /api/n8n/workflows?action=list
Returns all workflows registered in the connected n8n instance.
Required permission: page.settings.configurationAccount types: Staff only
Get a workflow
GET /api/n8n/workflows?action=get&workflow_id=<id>
Returns full details for a specific workflow including node configuration.
Required permission: page.settings.configuration
Must be
get.n8n workflow ID.
Get workflow executions
GET /api/n8n/workflows?action=executions&workflow_id=<id>
Returns the execution history for a specific workflow.
Required permission: page.settings.configuration
Must be
executions.n8n workflow ID.
Maximum executions to return.
Toggle a workflow
GET /api/n8n/workflows?action=toggle&workflow_id=<id>
Enables or disables a workflow. A disabled workflow will not execute even if triggered.
Required permission: page.settings.configuration
Trigger a workflow manually
POST /api/n8n/workflows
Manually triggers a workflow with optional payload data.
Required permission: page.settings.configurationRequires CSRF token.
Must be
trigger.n8n workflow ID to trigger.
Optional JSON payload passed to the workflow trigger node.
CSRF token from
GET /api/security/csrf-token.Test a workflow
POST /api/n8n/workflows
Runs a workflow in test mode — executes the logic but suppresses external side-effects (email sending, third-party API calls) if the workflow supports test mode.
Required permission: page.settings.configurationRequires CSRF token.
Must be
test.n8n workflow ID.
CSRF token.
Get workflow stats
GET /api/n8n/workflows?action=stats
Returns aggregate execution statistics — total runs, success rate, and average duration.
Required permission: page.settings.configuration
Webhook events
When n8n is connected, PropOps publishes the following events to configured webhook workflows. You can build n8n workflows that listen for these events and forward them to Slack, email, third-party CRMs, or any HTTP endpoint.| Event | Description |
|---|---|
job.created | A new job has been raised |
job.updated | A job field has been changed |
job.status_changed | A job’s status has moved to a new stage |
job.completed | A job has been marked as completed |
job.recalled | A completed job has been recalled |
job.assigned | A contractor or agent has been assigned to a job |
case_note.created | A case note has been added to a job |
document.uploaded | A document or photo has been uploaded to a job |
invoice.created | An invoice has been raised for a job |
invoice.paid | An invoice has been marked as paid |
user.created | A new user account has been created |
tenant.created | A new tenant record has been created |
certification.expiring | A contractor certification expires within 30 days |
security.alert | A security event has been triggered |
Example event payload
Cron webhook
GET /api/cron/webhook
Internal endpoint called by the PropOps cron job to trigger scheduled workflow executions. Not intended for direct API use — the platform calls this endpoint automatically.
To configure scheduled automations, use n8n’s built-in Schedule trigger node rather than calling the cron endpoint directly.