FormWork FormWork

Extensions & Integrations

Connect forms and workflows to payments, external services, and custom APIs.

Extensions let FormWork talk to tools outside the form itself. Use them when a form needs to take a payment, call another service, validate data with an external system, or react to a webhook from another product.

When to Use Extensions

Use an extension when you need to:

  • Add a specialist field, such as a payment field
  • Store reusable credentials for an external service
  • Send form or workflow data to an external API
  • Receive webhook updates from another product
  • Reuse the same integration across multiple workflows

For example, an order form can collect line items, take a Stripe payment, then update fulfilment status when Stripe sends a payment event back.

Installed Extensions

Installed extensions are managed at the project level.

  1. Open the project.
  2. Go to Extensions.
  3. Choose an available extension.
  4. Install it for the project.
  5. Add required settings and credentials.

Some extensions add fields to the form builder. Others add workflow actions, webhook handling, or both.

Credentials and Secrets

Secrets are values like API keys, signing secrets, or passwords. They are saved on the server and are not exposed to form respondents.

Use secrets for:

  • Payment provider keys
  • API tokens
  • Webhook signing secrets
  • Basic auth credentials

If an extension has more than one environment, create separate configurations such as Live, Test, or Sandbox. Form fields and workflow steps can then use the correct configuration.

Extension Fields

Some extensions can add their own field types to the form builder. For example, the Stripe extension can provide a payment field for collecting payment details as part of an order or checkout flow.

When an extension provides fields, those fields appear in the builder like normal fields, but their behaviour is supplied by the extension. They can still participate in normal form behaviour, including visibility rules, validation, and workflow triggers.

Custom API integrations are usually used for workflow actions rather than new public form fields.

Extension Actions

Extension actions are workflow steps that call an external service.

Use them for workflows such as:

  • Send a new order to a fulfilment system
  • Look up a customer record during onboarding
  • Create a support ticket after a complaint form is submitted
  • Update a CRM when an application is approved

In the workflow editor, choose Extension Action, select the extension, choose the action, then map form answers or previous step outputs into the request.

Custom API Integrations

Custom API integrations are for services that do not have a built-in extension yet.

Create one when you know:

  • The service base URL
  • The authentication method
  • The action you want to call
  • Which fields should be sent
  • Which response values you want available later in the workflow

Custom API integrations are still configured through the extension system, so credentials, test/live configurations, and workflow actions are managed in one place.

Webhooks

Some services send events back to FormWork. These are called webhooks.

Use webhooks when an outside service needs to update an entry after something happens elsewhere, such as:

  • Payment completed
  • Shipment status changed
  • Identity check finished
  • External approval completed

Webhook updates are usually tied to a specific extension and only update the fields that extension owns.

Best Practices

  • Keep test and live credentials separate.
  • Give extension configurations clear names, such as Stripe Test and Stripe Live.
  • Use workflow run details to troubleshoot failed extension actions.
  • Store external IDs in hidden fields or metafields so later workflow steps can refer to them.
  • Use custom API integrations for business-specific services, not for one-off manual exports.