Skip to main content

OpenForm

Purpose: Embedded forms used on Pacing site; must receive first-party ID _c_pca.

Official product name is OpnForm (docs, API base).

REST API (submissions export)​

Personal Access Tokens live under Settings β†’ Access Tokens on opnform.com. Send Authorization: Bearer <token> to https://api.opnform.com. Minimum ability for reading submissions: forms-read (also use workspaces-read if you list workspaces/forms by workspace).

ActionMethodPath
Resolve form (slug from URL path after /forms/)GET/open/forms/{slug} β†’ includes numeric id
List submissions (paginated, per_page max 100)GET/open/forms/{id}/submissions?page=1&per_page=100&status=all
CSV exportPOST/open/forms/{id}/submissions/export with JSON body { "columns": { ... } }

Submission payloads use field block UUIDs as keys inside each item’s data object; file fields return signed file_url values (short TTL).

Repo script​

From repo root (token never committed; use env or a secrets manager):

export OPNFORM_TOKEN="your-token"
export OPNFORM_FORM_SLUG="designer-application-450mtn"
node scripts/resources/opnform/fetch-all-submissions.mjs

Default output directory: exports/opnform/ (gitignored β€” may contain PII).

fetch-all-submissions.mjs also writes a slim -form.json (field ids + labels only) next to the submissions file. Use it with submissions-json-to-csv.mjs so spreadsheet columns use question titles instead of UUIDs:

node scripts/resources/opnform/submissions-json-to-csv.mjs exports/opnform/<slug>-submissions.json

Full reference: OpnForm docs index and API keys.

Current use​

  • Form helper script updates hidden field hidden-field1 and rewrites OpnForm iframe user_id parameter with _c_pca, prioritising localStorage over cookie, with a 1s delay after load.
  • Runs on pages with .contact-v2-wrap.opnform iframe.

Dependencies​

  • _c_pca identity set by GTM logic.
  • Webflow/DOM availability of the iframe; timing handled via setTimeout.

TODO​

  • Confirm all OpnForm embeds use user_id param and are wrapped with .contact-v2-wrap.opnform.
  • Add defensive retry if iframe loads after 1s.
  • Record form owners per workspace (dashboard).

Account Details​

  • Notes: Form tool we use, has normal and typeform-esque form variants. I have integrated the hidden field functionality so our user-id gets added into form submissions
  • Category: MARKETING_TOOL
  • Account type: INTERNAL
  • Monthly cost: 18.80 GBP
  • Created: December 2025
  • Access URL: https://opnform.com/home
  • Account owner: Ben Power