Skip to main content

Integration Nodes

This page covers the configuration of workflow nodes that connect to external systems — the API Node, GitHub nodes, and Forge Function nodes. For the full list of available nodes, see Workflow Nodes.

API Node — Auto Retry

The API Node includes an Auto Retry section. When enabled, a failed request is retried automatically instead of failing straight away, spreading retries out over time with a randomised, decaying delay. When retries are exhausted, any configured Failure Routes take over.

API Node Auto Retry settings

API Node — Auto Retry settings

SettingDescription
Enable auto retryTurns on automatic retry behaviour for this node.
Retry onWhich failure types trigger a retry: Timeout, HTTP error status, Null / empty response, Other errors.
Max retriesThe maximum number of retry attempts.
First retry delayHow long to wait before the first retry. Retries are checked on a 5-minute schedule, so delays are chosen in 5-minute steps; the first retry happens at the next check after the chosen delay has elapsed.
Delay decay factorMultiplier applied to the delay between successive retries.
Max delayThe upper limit on the delay between retries.
Jitter (0–1)How much the delay is randomised. 1 spreads retries fully across the window so items that failed together do not all retry at the same instant; 0 uses a fixed delay.

API Node — Concurrency & burst control

The API Node also includes a Concurrency & burst control section, for limiting how many requests this node sends to a slow or rate-limited endpoint. When the limit is reached, the run is queued and retried automatically instead of failing.

API Node Concurrency and burst control settings

API Node — Concurrency & burst control settings

SettingDescription
Limit concurrent requestsTurns on concurrency/burst limiting for this node. Off by default.
Group requests byWhat counts as "the same endpoint" for the limits below. Defaults to URL (host and path) — each endpoint gets its own allowance. Other options include sharing one allowance across a whole host (Server) or across the whole node regardless of destination (This node).
Requests at the same timeHow many requests may be in progress simultaneously. A further request waits until one of these gets a reply.
Requests per time windowTotal requests allowed in each window, whether or not they overlap. Left at 0, this time-based limit is off and only the simultaneous limit applies.
Wait for a free slot (seconds)How long a held-up request waits for a slot before it is queued for the next sweep. Most congestion clears within seconds, so a short wait usually sends the request straight away. Set to 0 to queue immediately instead of waiting.

A live summary above these fields restates the configured limits in plain language (e.g. "At most 2 requests at a time to each URL (host and path). A held-up request waits up to 30s, then queues for the next sweep."). A queued run is retried on the next sweep, roughly every 5 minutes, and is shown as Queued in the Inbox rather than as a failure. A queue that never clears can be routed using the Queue limit reached option in the node's Failure Routes settings.

GitHub Commit Node

The GitHub Commit Node commits one or more documents to a connected GitHub repository. It requires the connector's contents_write feature to be enabled (and workflow_files if committing under .github/workflows) — otherwise the run is refused.

GitHub Commit Node settings

GitHub Commit Node — Repository and branch settings

SettingDescription
RepositoryThe connected GitHub repository to commit to.
BranchThe branch to commit onto. Supports Jinja templating against the source document.
Base branch (optional)When the branch does not exist yet, it is forked from this branch. Defaults to the repository's default branch if left blank.
Create branch if missingCreates the branch when it does not exist. If off and the branch is missing, the node fails.
Delete branch on completionDeletes the branch once the downstream GitHub Action run finishes — useful for cleaning up throwaway branches. Requires a GitHub Action Node in poll or webhook mode after this node.
What to commitSelects which document(s) this node commits (see below).
Repository path (optional)Subfolder in the repository to place the file(s) under. Left blank, files commit at the repository root using each document's original filename.
Commit message (optional)Overrides the default commit message. Supports Jinja templating.

What to commit offers three options:

What to commit selector options

What to commit — selector options

OptionDescription
Workflow documentThe item this workflow started from.
Node inputDocuments produced by previous nodes.
Specific document IDsA comma-separated list of document IDs to commit.

GitHub Action Node — Run Tracking

The GitHub Action Node dispatches a GitHub Actions workflow run and, depending on the selected Run Tracking Mode, can wait for that run to finish before proceeding. It requires the connector's actions feature to be enabled, otherwise the run is refused.

SettingDescription
RepositoryThe connected GitHub repository.
Workflow FileThe workflow filename in .github/workflows on the chosen ref. It must declare a workflow_dispatch trigger and a docwize_run_id input, and echo it via run-name so Docwize can identify the run.
Ref (branch or tag)The branch or tag to dispatch against. Supports Jinja templating.
Workflow InputsExtra workflow_dispatch inputs passed to the run. Values support Jinja templating and are rendered at dispatch time. A docwize_run_id correlation token is added automatically.
Run Tracking ModeFire and forget (dispatch and continue immediately), Poll for completion (pause and poll the Actions API until the run finishes), or Await webhook (pause and resume when GitHub delivers the workflow_run completion webhook; a watchdog poll recovers missed deliveries).

If the target workflow file is unlikely to support run correlation, a pre-flight warning appears in the dialog:

Run tracking may not work for this workflow warning

Pre-flight warning: run tracking may not work for this workflow

To poll or await a run, the workflow file must declare a workflow_dispatch trigger, declare a docwize_run_id input, and echo it into its top-level run-name (e.g. run-name: "${{ inputs.docwize_run_id }}"). Without the run-name echo, Docwize cannot correlate the run and the node hangs until it times out. Fire and forget mode is unaffected.

The node routes to one of three outputs: On success (the run completed successfully), On failure (the run completed but failed), or On infrastructure error (Docwize couldn't dispatch or track the run at all — for example a connector or API problem, distinct from the GitHub Actions run itself failing).

Forge Function Node

A Forge Function node runs the corresponding uploaded function against the workflow document and its files. Its output side has one port per output route declared in the function's manifest, instead of a fixed set of ports — for example, a function might expose Appended, No PDF, and Error routes, each connecting to a different next step.