npm package: @joshuanode/n8n-nodes-formnode
Description: n8n node for FormNode API integration
Author: Joshua
Latest version: 1.3.0

# n8n-nodes-formnode

[![npm version](https://img.shields.io/npm/v/@joshuanode/n8n-nodes-formnode.svg)](https://www.npmjs.com/package/@joshuanode/n8n-nodes-formnode)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![n8n](https://img.shields.io/badge/n8n-community%20node-orange.svg)](https://n8n.io/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.3-blue.svg)](https://www.typescriptlang.org/)

This is an n8n community node for integrating with the [FormNode](https://formnode.io) API.

[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

## Installation

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

## Operations

This node supports the following resources and operations:

### Organization

- **Create** - Create a new organization with optional integration mappings
- **Delete** - Delete an organization (cascades to forms and submissions)
- **Get** - Retrieve a single organization by ID
- **Get Many** - List all organizations in your workspace
- **Update** - Update organization name, slug, or integration mappings
- **Bulk Upsert** - Create or update multiple organizations at once
- **Resolve by Mapping** - Find an organization by integration mapping key-value pair

### Form

- **Create** - Create a new form in an organization
- **Delete** - Delete a form (cascades to submissions)
- **Get** - Retrieve a single form by ID
- **Get Many** - List all forms in an organization
- **Update** - Update form name, content, published status, or auth requirements

### Submission

- **Delete** - Delete a submission (GDPR compliance)
- **Get** - Retrieve a single submission with decrypted data
- **Get Many** - List all submissions for a form

## Credentials

To use this node, you need to configure FormNode API credentials:

1. Log into your FormNode workspace
2. Go to **Workspace Settings > API Keys**
3. Click **Create API Key**
4. Select the appropriate scope
5. Copy the generated API key

In n8n:

1. Go to **Credentials > Add Credential**
2. Select **FormNode API**
3. Enter your API Key
4. Enter the Base URL (default: `https://app.formnode.io`, omit `/api/v1`)

### API Authentication

All requests use API key authentication via the `Authorization` header:

```
Authorization: Bearer fn_sk_...
```

### API Scopes

- **READ_ONLY** - Read-only access to data (list, get operations)
- **SYNC** - Create, update, and delete forms and organizations
- **FULL** - All operations (including headless submissions)

## Features

- **Integration mappings** - Link FormNode organizations to your external systems with key-value pairs
- **Bulk operations** - Create or update multiple organizations at once with merge or replace modes
- **GDPR compliance** - Delete submissions after processing to comply with data retention policies
- **Expression support** - All fields support n8n expressions for dynamic values
- **Pagination support** - Automatically handles pagination for list operations

## Common Use Cases

### Multi-Tenant SaaS Integration

Use integration mappings to link FormNode organizations to your tenants:

1. **Create Organization** with integration mapping:
   - Key: `tenantId`
   - Value: Your internal tenant ID

2. **Resolve by Mapping** to find the organization:
   - Mapping Key: `tenantId`
   - Mapping Value: Your tenant ID

3. **Create Form** in the resolved organization

### Form Submission Automation

1. **Get Many Submissions** for a form
2. Process each submission in your n8n workflow
3. **Delete Submission** after processing (optional, for GDPR compliance)

### Bulk Organization Setup

Use **Bulk Upsert** to create multiple organizations from a data source:

- Mode `merge`: Add new organizations, keep existing ones
- Mode `replace`: Replace all organizations with the provided list

## Compatibility

- n8n version: 1.0+
- Node.js version: 18.17.0+

## Resources

- [FormNode API Documentation](https://app.formnode.io/docs/api)
- [FormNode Website](https://formnode.io)
- [n8n Community Nodes Documentation](https://docs.n8n.io/integrations/community-nodes/)

## License

[MIT](LICENSE)