JustPaid Workflows
Execution

Execution Logs

Monitor workflow runs with step-by-step execution logs, timing data, and output capture

Every workflow run generates detailed execution logs. Each step records its input, output, timing, and status -- giving you full visibility into what happened and why.

Viewing Logs

In the Visual Builder

Open a completed run from the Runs panel in the sidebar. The canvas highlights each step with its status (green for success, red for failure). Click any step to see its execution details.

Via API

curl https://api.justpaid.io/api/v1/runs/{RUN_ID} \
  -H "x-api-key: YOUR_API_KEY"
const response = await fetch(
  `https://api.justpaid.io/api/v1/runs/${runId}`,
  { headers: { 'x-api-key': process.env.JUSTPAID_API_KEY } }
);
const { data } = await response.json();
console.log('Steps:', JSON.stringify(data.steps, null, 2));

Log Structure

{
  "id": "run_abc123",
  "workflowId": "wf_xyz789",
  "status": "completed",
  "startedAt": "2024-01-15T09:00:01.000Z",
  "completedAt": "2024-01-15T09:00:04.500Z",
  "durationMs": 3500,
  "steps": [
    {
      "id": "fetch-invoices",
      "name": "Fetch Overdue Invoices",
      "type": "action",
      "status": "completed",
      "startedAt": "2024-01-15T09:00:01.200Z",
      "completedAt": "2024-01-15T09:00:02.800Z",
      "durationMs": 1600,
      "input": { "filter": "Balance > 0" },
      "output": { "invoices": [...], "count": 12 }
    },
    {
      "id": "send-slack",
      "name": "Notify Finance",
      "type": "slack",
      "status": "completed",
      "startedAt": "2024-01-15T09:00:02.900Z",
      "completedAt": "2024-01-15T09:00:04.400Z",
      "durationMs": 1500,
      "input": { "channel": "#finance", "text": "12 overdue invoices" },
      "output": { "messageId": "msg_123", "channel": "C01234" }
    }
  ]
}

Step Status Values

StatusDescription
pendingWaiting to execute
runningCurrently executing
completedFinished successfully
failedError occurred
skippedCondition evaluated to false, step was not executed
retryingFailed and retrying (shows attempt number)

Filtering Runs

List runs with filters:

# Get failed runs from the last 24 hours
curl "https://api.justpaid.io/api/v1/runs?workflowId=wf_xyz&status=failed&since=24h" \
  -H "x-api-key: YOUR_API_KEY"
ParameterTypeDescription
workflowIdstringFilter by workflow
statusstringFilter by status (completed, failed, running)
sincestringTime window (1h, 24h, 7d, 30d)
limitnumberMax results (default 50, max 200)

Token Usage Tracking

Agent block logs include token usage for cost monitoring:

{
  "id": "extract-data",
  "type": "agent",
  "output": {
    "result": { ... },
    "usage": {
      "promptTokens": 1250,
      "completionTokens": 340,
      "totalTokens": 1590,
      "model": "claude-sonnet-4-6",
      "estimatedCostUsd": 0.0095
    }
  }
}

Log Retention

PlanRetention
Free7 days
Pro30 days
Enterprise90 days (configurable)

Logs older than the retention period are permanently deleted. Export critical logs via the API before they expire.

Frequently Asked Questions

On this page