n8n-nodes-formbase 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -4
- package/dist/package.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -119,7 +119,7 @@ Each webhook produces one n8n item containing the formbase event envelope. Every
|
|
|
119
119
|
"id": "evt_abc123",
|
|
120
120
|
"type": "submission.completed",
|
|
121
121
|
"createdAt": "2026-04-25T12:34:56.000Z",
|
|
122
|
-
"apiVersion": "2026-09-
|
|
122
|
+
"apiVersion": "2026-09-24",
|
|
123
123
|
"test": false,
|
|
124
124
|
"data": {
|
|
125
125
|
"form": { "id": "frm_abc123", "name": "Customer Feedback", "snapshotId": "snp_..." },
|
|
@@ -132,14 +132,53 @@ Each webhook produces one n8n item containing the formbase event envelope. Every
|
|
|
132
132
|
"pdfUrl": null,
|
|
133
133
|
"language": "en"
|
|
134
134
|
},
|
|
135
|
-
"answers": {
|
|
136
|
-
|
|
135
|
+
"answers": {
|
|
136
|
+
"recommend": 9,
|
|
137
|
+
"plan": "pro",
|
|
138
|
+
"book_a_call": {
|
|
139
|
+
"status": "confirmed",
|
|
140
|
+
"start": "2026-04-29T07:00:00.000Z",
|
|
141
|
+
"end": "2026-04-29T07:30:00.000Z",
|
|
142
|
+
"timeZone": "Europe/Oslo",
|
|
143
|
+
"attendee": { "name": "Grace Hopper", "email": "respondent@example.com" },
|
|
144
|
+
"meetingUrl": "https://app.cal.com/video/...",
|
|
145
|
+
"provider": "cal.com",
|
|
146
|
+
"providerBookingId": "...",
|
|
147
|
+
"eventTitle": "Intro call"
|
|
148
|
+
},
|
|
149
|
+
"pay_the_fee": {
|
|
150
|
+
"status": "paid",
|
|
151
|
+
"amount": 40,
|
|
152
|
+
"currency": "USD",
|
|
153
|
+
"amountRefunded": 0,
|
|
154
|
+
"receiptUrl": "https://pay.stripe.com/receipts/...",
|
|
155
|
+
"paidAt": "2026-04-25T12:30:00.000Z",
|
|
156
|
+
"refundedAt": null,
|
|
157
|
+
"disputedAt": null,
|
|
158
|
+
"provider": "stripe",
|
|
159
|
+
"providerPaymentIntentId": "pi_..."
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"display": {
|
|
163
|
+
"recommend": "9",
|
|
164
|
+
"plan": "Pro",
|
|
165
|
+
"book_a_call": "Intro call · Apr 29, 2026, 9:00 AM - 9:30 AM (Europe/Oslo) · Grace Hopper <respondent@example.com> · https://app.cal.com/video/...",
|
|
166
|
+
"pay_the_fee": "$40.00 USD · Paid"
|
|
167
|
+
}
|
|
137
168
|
}
|
|
138
169
|
}
|
|
139
170
|
```
|
|
140
171
|
|
|
141
172
|
Read a value with `{{ $json.data.answers.recommend }}`; the field keys come from `fields.list` (or the form's field Configure menu). A choice answer holds the readable option key (`"pro"`), and `display` holds its label (`"Pro"`). A repeating group is an array of row objects in `answers` and one joined line in `display`.
|
|
142
173
|
|
|
174
|
+
A **Schedule appointment** answer and a **Payment** answer are objects, and `display` keeps one line of text for each. Read one property with `{{ $json.data.answers.book_a_call.start }}` or `{{ $json.data.answers.pay_the_fee.amount }}`.
|
|
175
|
+
|
|
176
|
+
- A booking is `{ status, start, end, timeZone, attendee: { name, email }, meetingUrl, provider, providerBookingId, eventTitle }`. `status` is `confirmed`, `rescheduled`, `cancelled`, `rejected` or `no_show`. `start` and `end` are ISO 8601 instants. `meetingUrl` and `eventTitle` may be `null`.
|
|
177
|
+
- A payment is `{ status, amount, currency, amountRefunded, receiptUrl, paidAt, refundedAt, disputedAt, provider, providerPaymentIntentId }`. `status` is `paid`, `partially_refunded`, `refunded` or `disputed`. `amount` and `amountRefunded` are in the currency's major unit (`40` is $40.00), `currency` is upper-case ISO 4217, and the timestamps are ISO 8601 or `null`.
|
|
178
|
+
- formbase keeps both current: a rescheduled booking, a refund or a dispute rewrites the stored answer, so later events carry the new state. The change itself sends no event.
|
|
179
|
+
|
|
180
|
+
Before event `apiVersion` `2026-09-24`, a booking arrived as one sentence and a payment question had no answer. A workflow that read the booking as text reads `data.display.<field_key>` instead.
|
|
181
|
+
|
|
143
182
|
The node passes the envelope through unchanged — it does not flatten answers into the top level of the item. Nothing is dropped, every key stays where the formbase contract puts it, and a field key can never collide with an envelope key such as `type` or `test`. Map the handful of values a workflow needs with a Set node, as the example workflow does.
|
|
144
183
|
|
|
145
184
|
A submission event carries no channel field; the event `type` already says it came through the public link. `submission.updated` keeps the original `submittedAt`, and the envelope's `createdAt` is the time of the edit. `data.submission.updatedAt` is when the submission was last edited (`null` until the first edit), and `data.submission.editCount` counts the edits (`0` on a fresh submission).
|
|
@@ -153,7 +192,7 @@ A request event carries the request itself in `data.request`: `id`, `status`, `o
|
|
|
153
192
|
"id": "evt_req123",
|
|
154
193
|
"type": "request.completed",
|
|
155
194
|
"createdAt": "2026-09-22T12:34:56.000Z",
|
|
156
|
-
"apiVersion": "2026-09-
|
|
195
|
+
"apiVersion": "2026-09-24",
|
|
157
196
|
"test": false,
|
|
158
197
|
"data": {
|
|
159
198
|
"request": {
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-formbase",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "n8n community nodes for formbase — create requests, pause a workflow until a customer completes one, and trigger on completed, expired or canceled requests and on form submissions. Collect and verify customer information for workflows and AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n-nodes-formbase",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.2",
|
|
4
4
|
"description": "n8n community nodes for formbase — create requests, pause a workflow until a customer completes one, and trigger on completed, expired or canceled requests and on form submissions. Collect and verify customer information for workflows and AI agents.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"n8n-community-node-package",
|