n8n-nodes-formbricks-new 1.0.3 → 1.0.5

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 CHANGED
@@ -41,7 +41,7 @@ For an unpublished local build, create a tarball from this repository and instal
41
41
  npm run build
42
42
  npm pack
43
43
  cd ~/.n8n/nodes
44
- npm install /path/to/n8n-nodes-formbricks-new-1.0.3.tgz
44
+ npm install /path/to/n8n-nodes-formbricks-new-1.0.5.tgz
45
45
  ```
46
46
 
47
47
  Restart n8n after installing the local tarball.
@@ -59,6 +59,30 @@ The credential test calls:
59
59
  GET /api/v2/me
60
60
  ```
61
61
 
62
+ ## Required Permissions
63
+
64
+ Formbricks API keys are organization-level keys with separate organization and workspace permissions.
65
+
66
+ This node uses these Formbricks API v2 endpoints:
67
+
68
+ - `GET /api/v2/me` to test credentials and load the workspace list
69
+ - `GET /api/v2/management/webhooks` to check for an existing webhook
70
+ - `POST /api/v2/management/webhooks` to register the n8n production webhook
71
+ - `DELETE /api/v2/management/webhooks/{id}` to remove the webhook when the workflow is deactivated
72
+
73
+ Recommended permissions for the full n8n trigger lifecycle:
74
+
75
+ - **Organization access**: Read
76
+ - **Selected workspace access**: Manage
77
+
78
+ Lower workspace permissions have limited behavior:
79
+
80
+ - **Read**: Credentials and workspace loading can work, but webhook creation fails.
81
+ - **Write**: Webhook creation can work, but webhook deletion during workflow deactivation can fail.
82
+ - **Manage**: Webhook creation, lookup, and deletion can all work.
83
+
84
+ The credential test only verifies `GET /api/v2/me`, so it can confirm the API key and Organization Read access. It does not prove that the selected workspace has Write or Manage access; that is checked later when n8n activates or deactivates the workflow.
85
+
62
86
  ## Workspace Selection
63
87
 
64
88
  Workspace is selected in the **Formbricks** trigger node, not in the credential.
@@ -69,7 +93,7 @@ The node loads available workspaces from the current Formbricks API v2:
69
93
  curl -H "x-api-key: <API_KEY>" https://form.example.com/api/v2/me
70
94
  ```
71
95
 
72
- It uses the returned `workspaces[]` array. The option label is based on `projectName`, and the option value is `workspaceId`.
96
+ It uses the returned `workspaces[]` array. It also supports Formbricks responses that expose the same data as `workspacePermissions[]`. The option label is based on `projectName` or `workspaceName`, includes the permission level when returned by Formbricks, and the option value is `workspaceId`.
73
97
 
74
98
  ## Usage
75
99
 
@@ -16,7 +16,7 @@ class FormbricksApi {
16
16
  {
17
17
  displayName: "API Key",
18
18
  name: "apiKey",
19
- description: 'Your Formbricks organization API-Key. You can create a new API-Key in the Organization Settings. Please read our <a href="https://formbricks.com/docs/api/api-key-setup">API Key Docs</a> for more details.',
19
+ description: 'Your Formbricks organization API-Key. Credential testing and workspace loading require Organization Read access. Full webhook lifecycle requires Manage access for the selected workspace. Please read our <a href="https://formbricks.com/docs/api/api-key-setup">API Key Docs</a> for more details.',
20
20
  type: "string",
21
21
  typeOptions: { password: true },
22
22
  default: "",
@@ -35,6 +35,22 @@ class FormbricksApi {
35
35
  baseURL: "={{$credentials.host}}/api/v2",
36
36
  url: "=/me",
37
37
  },
38
+ rules: [
39
+ {
40
+ type: "responseCode",
41
+ properties: {
42
+ value: 401,
43
+ message: "Authentication failed. Check the Host/API Key and make sure the key has Organization Read access.",
44
+ },
45
+ },
46
+ {
47
+ type: "responseCode",
48
+ properties: {
49
+ value: 403,
50
+ message: "The API key is valid but lacks permission. Organization Read access is required to test credentials and load workspaces.",
51
+ },
52
+ },
53
+ ],
38
54
  };
39
55
  }
40
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FormbricksApi.credentials.js","sourceRoot":"","sources":["../../credentials/FormbricksApi.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAA1B;QACE,SAAI,GAAG,eAAe,CAAC;QACvB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,WAAW,EACT,kMAAkM;gBACpM,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4BAA4B;aACtC;YACD;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,6MAA6M;gBAC/M,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,WAAW,EAAE,0BAA0B;iBACxC;aACF;SACF,CAAC;QACF,SAAI,GAAuC;YACzC,OAAO,EAAE;gBACP,OAAO,EAAE,+BAA+B;gBACxC,GAAG,EAAE,MAAM;aACZ;SACF,CAAC;IACJ,CAAC;CAAA;AArCD,sCAqCC"}
1
+ {"version":3,"file":"FormbricksApi.credentials.js","sourceRoot":"","sources":["../../credentials/FormbricksApi.credentials.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IAA1B;QACE,SAAI,GAAG,eAAe,CAAC;QACvB,gBAAW,GAAG,gBAAgB,CAAC;QAC/B,eAAU,GAAsB;YAC9B;gBACE,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,MAAM;gBACZ,WAAW,EACT,kMAAkM;gBACpM,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,4BAA4B;aACtC;YACD;gBACE,WAAW,EAAE,SAAS;gBACtB,IAAI,EAAE,QAAQ;gBACd,WAAW,EACT,uSAAuS;gBACzS,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,OAAO,EAAE,EAAE;aACZ;SACF,CAAC;QAEF,iBAAY,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,WAAW,EAAE,0BAA0B;iBACxC;aACF;SACF,CAAC;QACF,SAAI,GAAuC;YACzC,OAAO,EAAE;gBACP,OAAO,EAAE,+BAA+B;gBACxC,GAAG,EAAE,MAAM;aACZ;YACD,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE;wBACV,KAAK,EAAE,GAAG;wBACV,OAAO,EACL,mGAAmG;qBACtG;iBACF;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,UAAU,EAAE;wBACV,KAAK,EAAE,GAAG;wBACV,OAAO,EACL,0HAA0H;qBAC7H;iBACF;aACF;SACF,CAAC;IACJ,CAAC;CAAA;AAvDD,sCAuDC"}
@@ -45,7 +45,7 @@ class Formbricks {
45
45
  {
46
46
  displayName: "Workspace Name or ID",
47
47
  name: "workspaceId",
48
- description: 'Workspace where the webhook should be registered. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
48
+ description: 'Workspace where the webhook should be registered. Manage access is recommended so n8n can create and delete webhooks. Choose from the list, or specify an ID using an <a href="https://docs.n8n.io/code/expressions/">expression</a>.',
49
49
  type: "options",
50
50
  typeOptions: {
51
51
  loadOptionsMethod: "getWorkspaces",
@@ -1 +1 @@
1
- {"version":3,"file":"Formbricks.node.js","sourceRoot":"","sources":["../../../nodes/Formbricks/Formbricks.node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Formbricks.node.js","sourceRoot":"","sources":["../../../nodes/Formbricks/Formbricks.node.ts"],"names":[],"mappings":"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"}
@@ -27,15 +27,35 @@ async function apiRequest(method, resource, body, query = {}, option = {}) {
27
27
  }
28
28
  }
29
29
  async function getWorkspaces() {
30
- var _a;
30
+ var _a, _b, _c, _d;
31
31
  const responseData = await apiRequest.call(this, "GET", "/me", {});
32
- const workspaces = responseData.workspaces || ((_a = responseData.data) === null || _a === void 0 ? void 0 : _a.workspaces);
32
+ const workspaces = responseData.workspaces ||
33
+ ((_a = responseData.data) === null || _a === void 0 ? void 0 : _a.workspaces) ||
34
+ responseData.workspacePermissions ||
35
+ ((_b = responseData.data) === null || _b === void 0 ? void 0 : _b.workspacePermissions) ||
36
+ responseData.environments ||
37
+ ((_c = responseData.data) === null || _c === void 0 ? void 0 : _c.environments) ||
38
+ responseData.environmentPermissions ||
39
+ ((_d = responseData.data) === null || _d === void 0 ? void 0 : _d.environmentPermissions);
33
40
  if (!Array.isArray(workspaces)) {
34
- throw new n8n_workflow_1.NodeOperationError(this.getNode(), "No workspaces got returned");
41
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "No Formbricks workspaces got returned from GET /api/v2/me");
35
42
  }
36
- return workspaces.map((workspace) => ({
37
- name: workspace.projectName || workspace.workspaceName || workspace.workspaceId,
38
- value: workspace.workspaceId,
39
- }));
43
+ const returnData = workspaces
44
+ .filter((workspace) => workspace.workspaceId)
45
+ .map((workspace) => {
46
+ const workspaceName = workspace.projectName || workspace.workspaceName || workspace.workspaceId;
47
+ const permission = workspace.permissions || workspace.permission;
48
+ const permissionLabel = typeof permission === "string"
49
+ ? ` (${permission.charAt(0).toUpperCase()}${permission.slice(1)})`
50
+ : "";
51
+ return {
52
+ name: `${workspaceName}${permissionLabel}`,
53
+ value: workspace.workspaceId,
54
+ };
55
+ });
56
+ if (returnData.length === 0) {
57
+ throw new n8n_workflow_1.NodeOperationError(this.getNode(), "No Formbricks workspaces with workspaceId got returned from GET /api/v2/me");
58
+ }
59
+ return returnData;
40
60
  }
41
61
  //# sourceMappingURL=GenericFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Formbricks/GenericFunctions.ts"],"names":[],"mappings":";;AAgBA,gCAmCC;AAKD,sCAYC;AApED,+CAWsB;AAKf,KAAK,UAAU,UAAU,CAE9B,MAA2B,EAC3B,QAAgB,EAChB,IAAY,EACZ,QAAqB,EAAE,EACvB,SAAsB,EAAE;IAExB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAE/D,IAAI,OAAO,GAAwB;QACjC,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,SAAS;QACrC,MAAM;QACN,IAAI;QACJ,EAAE,EAAE,KAAK;QACT,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACP,WAAW,EAAE,WAAW,CAAC,MAAM;SAChC;KACF,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAC1D,IAAI,EACJ,eAAe,EACf,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAmB,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,aAAa;;IACjC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,KAAI,MAAA,YAAY,CAAC,IAAI,0CAAE,UAAU,CAAA,CAAC;IAE5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,iCAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW;QAC/E,KAAK,EAAE,SAAS,CAAC,WAAW;KAC7B,CAAC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"GenericFunctions.js","sourceRoot":"","sources":["../../../nodes/Formbricks/GenericFunctions.ts"],"names":[],"mappings":";;AAgBA,gCAmCC;AAKD,sCA2CC;AAnGD,+CAWsB;AAKf,KAAK,UAAU,UAAU,CAE9B,MAA2B,EAC3B,QAAgB,EAChB,IAAY,EACZ,QAAqB,EAAE,EACvB,SAAsB,EAAE;IAExB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAE/D,IAAI,OAAO,GAAwB;QACjC,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,SAAS;QACrC,MAAM;QACN,IAAI;QACJ,EAAE,EAAE,KAAK;QACT,GAAG,EAAE,QAAQ;QACb,OAAO,EAAE;YACP,WAAW,EAAE,WAAW,CAAC,MAAM;SAChC;KACF,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,EAAE,CAAC;IACpB,CAAC;IAED,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC,IAAI,CAC1D,IAAI,EACJ,eAAe,EACf,OAAO,CACR,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,2BAAY,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAmB,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAKM,KAAK,UAAU,aAAa;;IACjC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,UAAU,GACd,YAAY,CAAC,UAAU;SACvB,MAAA,YAAY,CAAC,IAAI,0CAAE,UAAU,CAAA;QAC7B,YAAY,CAAC,oBAAoB;SACjC,MAAA,YAAY,CAAC,IAAI,0CAAE,oBAAoB,CAAA;QACvC,YAAY,CAAC,YAAY;SACzB,MAAA,YAAY,CAAC,IAAI,0CAAE,YAAY,CAAA;QAC/B,YAAY,CAAC,sBAAsB;SACnC,MAAA,YAAY,CAAC,IAAI,0CAAE,sBAAsB,CAAA,CAAC;IAE5C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,UAAU;SAC1B,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC;SAC5C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACjB,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,aAAa,IAAI,SAAS,CAAC,WAAW,CAAC;QAChG,MAAM,UAAU,GAAG,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,UAAU,CAAC;QACjE,MAAM,eAAe,GACnB,OAAO,UAAU,KAAK,QAAQ;YAC5B,CAAC,CAAC,KAAK,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;YAClE,CAAC,CAAC,EAAE,CAAC;QAET,OAAO;YACL,IAAI,EAAE,GAAG,aAAa,GAAG,eAAe,EAAE;YAC1C,KAAK,EAAE,SAAS,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,iCAAkB,CAC1B,IAAI,CAAC,OAAO,EAAE,EACd,4EAA4E,CAC7E,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-formbricks-new",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "A n8n node to connect Formbricks and send survey data to hundreds of other apps.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-nodes-formbricks-new",
3
- "version": "1.0.3",
3
+ "version": "1.0.5",
4
4
  "description": "A n8n node to connect Formbricks and send survey data to hundreds of other apps.",
5
5
  "keywords": [
6
6
  "n8n-community-node-package",