Operations
Available Formfex operations in the n8n node
Overview
The Formfex action node organizes operations by four resources: Form, Response, AI, and Smart Form. Each operation maps to a Public API endpoint.
Operations Reference
| Resource | Operation | API Endpoint | Scope |
|---|---|---|---|
| Form | Create | POST /forms | FORMS_WRITE |
| Form | Get | GET /forms/:id | FORMS_READ |
| Form | Get Many | GET /forms | FORMS_READ |
| Form | Update | PATCH /forms/:id | FORMS_WRITE |
| Form | Delete | DELETE /forms/:id | FORMS_WRITE |
| Form | Publish | POST /forms/:id/publish | FORMS_WRITE |
| Form | Unpublish | POST /forms/:id/unpublish | FORMS_WRITE |
| Response | Get | GET /forms/:id/responses/:responseId | RESPONSES_READ |
| Response | Get Many | GET /forms/:id/responses | RESPONSES_READ |
| AI | Generate Form | POST /ai/generate-form | AI_GENERATE |
| AI | Get Job Status | GET /ai/jobs/:jobId | AI_GENERATE |
| AI | Smart Analytics | POST /forms/:id/smart-analytics | ANALYTICS_READ |
| AI | Analytics Chat | POST /forms/:id/analytics-chat | ANALYTICS_READ |
| Smart Form | Create | POST /smart-forms | SMART_FORMS_WRITE |
| Smart Form | Get | GET /smart-forms/:id | SMART_FORMS_READ |
| Smart Form | Get Many | GET /smart-forms | SMART_FORMS_READ |
| Smart Form | Update | PATCH /smart-forms/:id | SMART_FORMS_WRITE |
| Smart Form | Delete | DELETE /smart-forms/:id | SMART_FORMS_WRITE |
| Smart Form | Publish | POST /smart-forms/:id/publish | SMART_FORMS_WRITE |
| Smart Form | Unpublish | POST /smart-forms/:id/unpublish | SMART_FORMS_WRITE |
| Smart Form | List Sessions | GET /smart-forms/:id/sessions | SMART_FORMS_READ |
| Smart Form | Get Session | GET /smart-forms/:id/sessions/:sessionId | SMART_FORMS_READ |
| Smart Form | Aggregate Analytics | POST /smart-forms/:id/aggregate-analytics | SMART_FORMS_ANALYTICS |
| Smart Form | Chat | POST /smart-forms/:id/chat | SMART_FORMS_ANALYTICS |
| Smart Form | Export | GET /smart-forms/:id/export | SMART_FORMS_READ |
All endpoints are relative to /api/v1/public.
Form Operations
Create
Creates a new blank form with a title, optional description, and language.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Title | string | Yes | Form title (max 200 characters) |
| Description | string | No | Form description (max 500 characters) |
| Language | options | No | Form language: en, tr, es, it, de, nl. Default: en |
Get
Retrieves a single form by its ID, including the full schema with fields and sections.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
Get Many
Returns a paginated list of forms owned by the account.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Return All | boolean | No | Fetch all forms with auto-pagination (max 5,000) |
| Limit | number | No | Max forms to return (1–100). Shown when Return All is off |
| Search | string | No | Filter by title (case-insensitive partial match) |
| Since | string | No | ISO 8601 timestamp — only return forms updated after this date |
Auto-Pagination
When Return All is enabled, the node automatically paginates through results. A safety cap of 50 pages (5,000 records) prevents accidental quota exhaustion. Use date filters (Since) to narrow large datasets.
Update
Updates form properties. Only provided fields are changed.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
| Title | string | No | New form title |
| Description | string | No | New description |
Delete
Soft-deletes a form. The form is retained in the database but becomes inaccessible. Associated file uploads are permanently deleted.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
Publish
Publishes a form so it starts accepting responses. Returns the share URL.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
Unpublish
Unpublishes a form so it stops accepting new responses.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
Response Operations
Get
Retrieves a single form response by ID.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
| Response ID | string | Yes | The response UUID |
Get Many
Returns a paginated list of responses for a form.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
| Return All | boolean | No | Fetch all responses with auto-pagination (max 5,000) |
| Limit | number | No | Max responses to return (1–100). Shown when Return All is off |
| Since | string | No | ISO 8601 timestamp — only return responses submitted after this date |
| Start Date | string | No | Filter responses from this date |
| End Date | string | No | Filter responses until this date |
AI Operations
Plan Requirement
AI form generation requires a Starter plan. Smart Analytics and Analytics Chat require a Pro plan or higher. All AI operations consume credits.
Generate Form
Generates a complete form using AI from a natural language prompt. This is an async operation — the node dispatches a job, polls until it completes, and returns the created form.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Prompt | string | Yes | Describe the form to generate (max 400 characters) |
| Language | options | No | Language for generated labels: en, tr, es, it, de, nl |
Behavior:
- Dispatches the AI generation job
- Polls every 3 seconds for up to 60 seconds
- When the job completes, returns the full form with schema
- If the job fails, throws an error with the failure reason
Get Job Status
Returns the current status of an AI generation job. Useful for manual polling in custom workflows.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Job ID | string | Yes | The job ID returned from Generate Form |
Status values: PENDING, PROCESSING, DONE, FAILED
Smart Analytics
Dispatches an AI-powered analytics report for a form. Results are delivered asynchronously via a webhook callback URL.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
| Callback URL | string | Yes | HTTPS URL where the report will be delivered |
Behavior:
- Returns immediately with a
jobIdandreportId - When the report is ready, Formfex sends a POST request to your callback URL with the full report (metrics, trends, AI analysis)
- The callback payload is signed with
X-FormFex-Signature-256header
n8n Workflow Pattern
Pair this with an n8n Webhook node to receive the callback. Create a two-step flow: Formfex node dispatches the report, Webhook node receives the results.
Analytics Chat
Conversational Q&A about form response data. Supports multi-turn conversations via session IDs.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Form | resource locator | Yes | Select from list or enter form ID |
| Message | string | Yes | Your question about the form data (max 500 characters) |
| Session ID | string | No | Continue a previous conversation. Leave empty to start new |
Response includes:
message— The AI-generated answersessionId— Pass this back for follow-up questionssuggestedActions— Suggested next questionscreditsUsed— Credits consumed
Multi-turn conversations
Pass the sessionId from the response into subsequent Analytics Chat operations to maintain conversation context. Sessions expire after 30 minutes of inactivity.
Smart Form Operations
Smart Forms are AI-powered conversational interviews. Unlike regular forms (static fields), a Smart Form dynamically generates follow-up questions based on the respondent's answers.
Plan Requirement
Smart Form operations require a Pro plan or higher. The SMART_FORMS_READ, SMART_FORMS_WRITE, and SMART_FORMS_ANALYTICS API key scopes control access.
Create
Creates a new smart form with a purpose (the AI interviewer's instructions) and optional configuration.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Purpose | string | Yes | Instructions for the AI interviewer — what to ask about and how to conduct the interview |
| Title | string | No | Smart form title |
| Max Questions | number | No | Maximum number of questions (1–15, default: 10) |
| Reference JSON | string | No | JSON schema for structured data mapping — AI maps interview answers to this schema |
Get
Retrieves a single smart form by ID, including session statistics.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
Get Many
Returns a paginated list of smart forms.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Return All | boolean | No | Fetch all smart forms with auto-pagination |
| Limit | number | No | Max smart forms to return (1–100) |
| Status | options | No | Filter by status: all, published, draft |
| Search | string | No | Filter by title (case-insensitive partial match) |
Update
Updates smart form properties. Only provided fields are changed.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Title | string | No | New title |
| Purpose | string | No | New AI interviewer instructions |
| Max Questions | number | No | New max questions limit |
Delete
Deletes a smart form and all associated sessions.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
Publish
Publishes a smart form so it starts accepting interview sessions. Returns the share URL.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
Unpublish
Unpublishes a smart form. Supports soft (stop new sessions) or hard (stop all sessions) mode.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Mode | options | No | soft (default) — stop new sessions. hard — also terminate active sessions |
List Sessions
Returns a paginated list of interview sessions for a smart form.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Return All | boolean | No | Fetch all sessions with auto-pagination |
| Limit | number | No | Max sessions to return (1–100) |
| Status | options | No | Filter by status: all, completed, active, abandoned |
Get Session
Retrieves a single interview session with full Q&A transcript and AI analysis.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Session ID | string | Yes | The session UUID |
Aggregate Analytics
Triggers an AI-powered aggregate analysis across multiple sessions. Returns trends, sentiment, and key insights.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Session IDs | string | No | Comma-separated session UUIDs to include. Leave empty to analyze all sessions |
Chat
AI-powered conversational analysis about smart form session data. Ask questions about respondent answers, sentiment trends, and insights.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Message | string | Yes | Your question about the session data (max 500 characters) |
| Conversation History | string | No | JSON array of previous messages for multi-turn context |
Export
Exports all sessions as a downloadable file (CSV or Excel).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
| Smart Form ID | string | Yes | The smart form UUID |
| Format | options | No | Export format: csv (default) or xlsx |
Example Workflows
Save responses to Google Sheets
Formfex Trigger → Google Sheets (append row)
AI-generate a form and share via Slack
Manual Trigger → Formfex (AI: Generate Form) → Formfex (Publish) → Slack (send form URL)
Daily analytics digest via email
Schedule Trigger (daily) → Formfex (Analytics Chat: "Summarize yesterday's responses") → Gmail (send digest)
Weekly Smart Analytics report
Schedule Trigger (weekly) → Formfex (Smart Analytics with callback)
...
Webhook Node (receives callback) → Slack / Email (distribute report)
Create a Smart Form interview and email the link
Webhook Trigger → Formfex (Smart Form: Create) → Formfex (Smart Form: Publish) → Email (send interview link)
Monitor completed interviews and route by sentiment
Formfex Trigger (SMART_FORM_SESSION_COMPLETED) → AI Agent (analyze sentiment via Smart Form Chat) → Switch (route by classification) → Slack channels
Patient intake with structured data mapping
Webhook Trigger → Code (craft purpose + referenceJson) → Formfex (Smart Form: Create with referenceJson) → Formfex (Smart Form: Publish) → Email (send to patient)