---
title: "Formify Integration"
description: "Formify is a Swedish electronic signature and digital contract platform. Agents upload or merge PDFs, send them for signature with digital ink, BankID or ID verification, pre-fill and harvest form field values, chase unsigned parties, revoke documents, download the sealed PDF, and react to every document event."
url: https://flowrunner.ai/integrations/formify
date_modified: 2026-09-04T14:07:24-07:00
---

# Formify

[Documents](https://flowrunner.ai/integrations/category/documents-forms)

Formify is a Swedish electronic signature and digital contract platform. Agents upload or merge PDFs, send them for signature with digital ink, BankID or ID verification, pre-fill and harvest form field values, chase unsigned parties, revoke documents, download the sealed PDF, and react to every document event.

1 trigger · 35 actions · Session · available

[Formify website](https://formify.eu/) · [Platform Documentation](https://developers.formify.se) · Capability data verified 2026-08-26

1.  A deal reaches signature stage and the contract package has to go out
2.  Agent pulls the counterparty details and the commercial terms from the CRM
3.  Merge PDF Files combines the agreement, the data processing addendum and the price annex into one file
4.  Create Draft stores the signature request without inviting anybody to anything
5.  Download Draft Preview renders the draft with its signature fields drawn in place
6.  Get Account Capabilities confirms the signature type this contract calls for is actually enabled on the account
7.  The contract owner approves the assurance level and the field placement, and only then does Send Draft invite the signees

## What This Integration Enables

Formify is a Swedish electronic signature platform, and the thing that separates it from a generic signing API is that it treats identity assurance as a choice you make per document rather than as a plan tier. A signature can be digital ink, a Swedish BankID authentication, an ID scan, or a face liveness check, and Get Account Capabilities will tell a flow which of those the account actually has enabled before it tries to use one. The rest of the surface is built around getting a document right before it goes out: drafts that are stored but not sent, a preview that renders the signature fields where they will actually sit, PDF form fields that can be pre-filled from a record, and the same fields read back as structured data once the agreement is signed.

FlowRunner agents work all of that. They upload and merge PDFs, pre-fill a contract from CRM data, assemble a signature request as a draft across several steps, chase unsigned parties while respecting the vendor's own reminder cooldown, correct a mistyped signee email without restarting the flow, download the sealed PDF into file storage, and harvest the field values a signee entered so the structured data and the evidence stay together. What the agent does not do is decide how strongly a given agreement needs to be signed. That is the [human-in-the-loop](https://flowrunner.ai/concepts/human-in-the-loop) moment, and Formify's draft lifecycle is what makes it possible to place it before anything irreversible happens.

### Without FlowRunner

**Assembly is manual and fragile**: Someone merges the annexes, checks the order, and hopes the signature boxes landed on the right page

**Assurance chosen by habit**: Every agreement goes out with whatever signature type the last one used, regardless of what it is worth

**Corrections mean starting over in public**: A wrong figure is found after sending, so the counterparty watches the document get withdrawn and reissued

### With FlowRunner

**Assembly is a repeatable step**: Files are merged, fields are pre-filled from the record, and placement is rendered as a preview before anyone sees it

**Assurance is a decision**: The signature type is confirmed against the value of the agreement while it is still a draft

**Corrections happen before the invite**: The draft is reviewed, fixed and only then sent, so revoke and reissue stays the exception

## Use Case Scenarios

### The contract package assembled, previewed, then sent

A deal closes in [HubSpot](https://flowrunner.ai/integrations/hubspot). The agent calls Upload PDF File for the agreement and the annexes, then Merge PDF Files to combine between two and eight of them into a single document in the order the package requires. Get File Form Fields reports which interactive fields the merged PDF carries, and the agent pre-fills the customer data it already holds. Create Draft stores the whole configuration without inviting anybody, Download Draft Preview renders it with the signature fields drawn in place, and the preview goes to the contract owner for approval. A blank looking preview means placement is still missing rather than that the call failed, which is exactly the kind of mistake worth catching while the document is still private.

### Sequential signing with a chase loop that respects the cooldown

A document goes out with signing order enabled, so an internal approver signs before the counterparty is invited at all. Each morning the agent calls List Documents for anything still awaiting signatures, reads Get Document to see per signee status and the seconds remaining before another reminder is allowed, and calls Send Signing Reminder for exactly the signees who are eligible. That call reports its outcome in two halves, the signees reminded and the ones not reminded with a reason for each, so the agent summarizes what it could not do into a task list for the account manager in [Slack](https://flowrunner.ai/integrations/slack) rather than reporting a clean success.

### Signed data harvested, not retyped

The On Document Event trigger fires with Document Completed. The agent calls Download Signed Document, which follows Formify's ten minute pre-signed link and captures the bytes, so the flow receives a stable FlowRunner URL rather than an expiring one, and files that PDF into [SharePoint](https://flowrunner.ai/integrations/sharepoint). Then it calls Get Document Field Values to read what the signee actually entered into the PDF form fields, and writes those values onto records in the finance or HR system. The agreement and the data extracted from it end up in the same place, which is the whole reason to sign electronically rather than to scan.

## Human-in-Loop Highlight

Send Draft is the point of no return on this connector, and the thing worth gating is not whether to send but how strongly the document will be signed. Formify offers digital ink, BankID, ID scan and face liveness, and the assurance level is fixed at send time. Afterwards the only in place correction available is Update Signee Details, which edits an existing contact method and nothing else. Changing the document itself, including the signature type it carries, means calling Revoke Document and issuing a new one to a counterparty who has already opened the first. An agent can read Get Account Capabilities and know that BankID is available. It cannot know that this particular agreement is the one where a Swedish counterparty's finance team will later ask for it.

So the agent assembles and stops. It posts the rendered Download Draft Preview alongside the question: "Draft ready for Nordvik AB, 3 signees, sequential order, annual value 1.8 million SEK. Signature type currently set to digital ink. BankID and ID scan are both enabled on this account. Send as configured, or raise the assurance level before it goes out?" A person answers, because a person knows what this counterparty and this number are worth. Then Send Draft runs the full set of create time validations, the invitations go, and the draft becomes a document keeping the same identifier. Everything up to that sentence was the agent's work. The sentence was not.

Agent processes routinely

Detects exception requiring judgment

Clear match Continues automatically

Ambiguous Routes to human via preferred channel

Human decides

Agent resumes with decision

## Agent Capabilities

35 actions

### Files

4

-   **Upload PDF File** Uploads an unlocked PDF and returns the File ID used to create a document or a draft. Interactive form fields inside the PDF are preserved and can be read and pre-filled later.
-   **Merge PDF Files** Merges between two and eight previously uploaded PDFs into a single new file, in the order the File IDs are given. This is how an agreement, an addendum and an annex become one package before signature.
-   **Get File Form Fields** Lists every interactive form field found in an uploaded PDF, with each field's name, label, type, options, and the flags saying whether a signee or the API may change it. Read this before building a prefill map.
-   **Delete File** Permanently deletes an uploaded PDF that has not yet been used to create a document, so abandoned signing flows do not leave uploads accumulating on the account.

### Documents

9

-   **Create Document** Creates a document from an uploaded file or a template and immediately requests signatures from every signee. Signatures can sit on an existing page by coordinate or on an appended page, sequential signing is available, and PDF form fields can be pre-filled in the same call.
-   **List Documents** Returns a page of documents owned by the key holder plus those shared on the same account, newest first, each with its current status. The read behind every sweep and report.
-   **Get Document** Returns the full state of one document, including one entry per signee with their signature type, placement, signing order, whether they have signed, when, and the seconds remaining before another reminder is allowed. The Signee IDs it returns are what the reminder and correction operations take.
-   **Revoke Document** Withdraws a document that is out for signature so it can no longer be opened or signed. This is the documented way to correct document content, since only signee contact details can be edited in place.
-   **Delete Document** Permanently deletes a document and, where no other document uses it, the file it was built from. Only allowed once the document is completed or revoked, and irreversible, so a flow downloads the signed PDF first.
-   **Update Signee Details** Corrects the contact details of one or more signees on a document already out for signature, which fixes a mistyped address or a delegated signer without restarting the flow. Only existing contact methods can be edited, and a cooldown applies between updates for the same signee.
-   **Send Signing Reminder** Reminds signees who have not yet signed. The response splits into those who were reminded, each with their next cooldown, and those who were not, each with a reason, so a flow reads both arrays rather than treating a success status as delivery.
-   **Get Recipient Signing Links** Returns one signing link per recipient so they can be delivered over your own channel instead of Formify's email, SMS or WhatsApp invitation. Because these links travel outside Formify's channels, opening one is locked until the recipient enters a verification code sent to the contact method on file.
-   **Download Signed Document** Downloads the sealed PDF of a fully signed document into FlowRunner file storage. Formify answers with a link valid for ten minutes and the bytes are captured here, so the flow holds a stable URL rather than an expiring one.

### Document Fields

3

-   **Get Document Form Fields** Lists the interactive form fields defined on a document with their names, types, current values and the required, readOnly and editable flags. This is the metadata view that says what may be written and what a signee may change.
-   **Get Document Field Values** Returns the values entered into a completed document's PDF form fields, which is how structured data is harvested from a signed contract. Supported only for completed documents, and every value arrives as an array of strings.
-   **Set Document Field Values** Writes values into a document's form fields after creation, for customer data that arrived late. Refused once anyone has signed or the document is completed, and only fields reported as editable can be written.

### Drafts

8

-   **Create Draft** Creates a signature request that is stored but not sent, so it can be reviewed, completed or corrected before anyone is invited. Signees, contact methods and placements are all optional at this stage and validated only when Send Draft runs.
-   **List Drafts** Returns a page of drafts owned by the key holder, or by another user on the same account when an owner is given.
-   **Get Draft** Returns the full saved configuration of a draft, including signees with their placements and the signing order setting. Only drafts still in draft status can be read this way.
-   **Update Draft** Replaces the stored configuration of a draft. This is a full replacement rather than a merge, so any signee not included in the call is removed, and a flow always sends the complete signee list.
-   **Delete Draft** Permanently deletes a draft with its signature fields and thumbnails, and the underlying file too when no other document uses it. Irreversible, and works on both active and expired drafts.
-   **Send Draft** Turns a draft into a live document and sends the invitations, running the full set of create time validations at that point. This is the operation the human gate on this page exists for.
-   **Download Draft Preview** Renders the draft as a PDF with its signature fields drawn in place and stores it in FlowRunner file storage. Fields whose coordinates are not set are simply not drawn, so a blank looking preview usually means placement is missing rather than that the render failed.
-   **Get Draft Download URL** Generates a short lived, single use link to the draft PDF that needs no authorization header, for handing to a browser or a tool that cannot send one. The token lasts ten minutes and is consumed by the first successful download.

### Templates

3

-   **List Templates** Returns a page of the reusable templates on the account, each with its ID, name, owner and sharing setting. A Template ID can be passed to Create Document in place of a File ID.
-   **Get Template** Returns one template with the default signee configuration it carries, including each signee's signature type and placement. Read this before creating a document from it so the signee list lines up.
-   **Get Template Form Fields** Lists the interactive form fields defined in a template, so a flow knows which names it can pre-fill when a document is built from it.

### Account

3

-   **Get User Info** Returns the identity behind the credential: the user, their email, and the account they belong to. Useful as a connection check and for stamping the acting user onto records elsewhere.
-   **List Account Users** Lists every user on the account with their roles and status, including pending invitations. These user IDs are what the document and draft operations accept as an owner.
-   **Get Account Capabilities** Reports which features and add ons the account has enabled, flag by flag: SMS and WhatsApp delivery, templates, signing order, BankID, ID scan, face liveness, verification to open and more. Checked before using a feature, because calling one that is not enabled returns a refusal rather than a helpful message.

### Webhooks

5

-   **Create Webhook** Registers a webhook endpoint for document events and returns its ID with the HMAC signing secret, which is shown only at creation and must be stored securely. Used for endpoints outside FlowRunner, since the trigger manages its own.
-   **List Webhooks** Returns every webhook registered on the account with its URL and subscribed events, which is how a flow audits what else on this account is receiving document events.
-   **Get Webhook** Returns one webhook with its URL, name, subscribed events and whether a signing secret is configured. The secret itself is never returned after creation.
-   **Delete Webhook** Removes a registered webhook so Formify stops delivering events to it. Used only for endpoints registered through Create Webhook, since trigger owned webhooks are removed automatically.
-   **Rotate Webhook Secret** Issues a new HMAC signing secret and invalidates the previous one immediately, so any receiver verifying signatures has to be updated in the same change.

## Triggers

1 triggers

### Event Triggers

1

-   **On Document Event** Fires when a Formify document is created, opened, signed by a signee, completed and sealed, revoked or deleted. A flow subscribes to one event or to all of them. Each delivery is verified against the webhook's HMAC-SHA256 signature before it reaches the flow and carries the document, account and owner identifiers with the full payload. Document Completed is the event to build on for downloading the sealed PDF and harvesting its field values, because it is the moment both of those exist.

## Frequently Asked Questions

### What can FlowRunner do with Formify?

FlowRunner agents can run Upload PDF File, Merge PDF Files, and Get File Form Fields in Formify, plus 32 more actions.

### Does connecting Formify to FlowRunner require OAuth?

No. Formify connects to FlowRunner with session-based authentication, no OAuth flow required.

### Can Formify trigger a FlowRunner workflow automatically?

Yes. Formify supports 1 trigger that can start a FlowRunner workflow automatically.

**Work at Formify?** This integration exposes Formify to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/formify. Site index: https://flowrunner.ai/llms.txt
