n8n-nodes-base 2.34.2 → 2.35.0

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.
Files changed (338) hide show
  1. package/dist/cjs/build.tsbuildinfo +1 -1
  2. package/dist/credentials/DiscordBotApi.credentials.d.ts.map +1 -1
  3. package/dist/credentials/DiscordBotApi.credentials.js +17 -0
  4. package/dist/credentials/DiscordBotApi.credentials.js.map +1 -1
  5. package/dist/credentials/SlackOAuth2Api.credentials.d.ts.map +1 -1
  6. package/dist/credentials/SlackOAuth2Api.credentials.js +9 -0
  7. package/dist/credentials/SlackOAuth2Api.credentials.js.map +1 -1
  8. package/dist/credentials/TwitterOAuth2Api.credentials.js +2 -2
  9. package/dist/credentials/TwitterOAuth2Api.credentials.js.map +1 -1
  10. package/dist/known/credentials.json +2 -1
  11. package/dist/known/nodes.json +4 -0
  12. package/dist/node-definitions/.nodes-hash +1 -1
  13. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v1/mode_each.ts +40 -0
  14. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v1/mode_once.ts +40 -0
  15. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v11/mode_each.ts +40 -0
  16. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v11/mode_once.ts +40 -0
  17. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v12/mode_each.ts +41 -0
  18. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v12/mode_once.ts +41 -0
  19. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v13/mode_each.ts +41 -0
  20. package/dist/node-definitions/nodes/n8n-nodes-base/executeWorkflow/v13/mode_once.ts +41 -0
  21. package/dist/node-definitions/nodes/n8n-nodes-base/github/v1/resource_workflow/operation_dispatch_and_wait.schema.js +1 -0
  22. package/dist/node-definitions/nodes/n8n-nodes-base/github/v1/resource_workflow/operation_dispatch_and_wait.ts +33 -0
  23. package/dist/node-definitions/nodes/n8n-nodes-base/github/v11/resource_workflow/operation_dispatch_and_wait.schema.js +1 -0
  24. package/dist/node-definitions/nodes/n8n-nodes-base/github/v11/resource_workflow/operation_dispatch_and_wait.ts +33 -0
  25. package/dist/node-definitions/nodes/n8n-nodes-base/googleAnalytics/v2/resource_report/operation_get.ts +2 -2
  26. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v2.schema.js +1 -1
  27. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v2.ts +3 -2
  28. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v3.schema.js +1 -1
  29. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v3.ts +8 -7
  30. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v4.schema.js +1 -1
  31. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v4.ts +8 -7
  32. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v41.schema.js +1 -1
  33. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v41.ts +8 -7
  34. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v42.schema.js +1 -1
  35. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v42.ts +8 -7
  36. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v43.schema.js +1 -1
  37. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v43.ts +8 -7
  38. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v44.schema.js +1 -1
  39. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v44.ts +8 -7
  40. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v45.schema.js +1 -1
  41. package/dist/node-definitions/nodes/n8n-nodes-base/httpRequest/v45.ts +8 -7
  42. package/dist/node-definitions/nodes/n8n-nodes-base/kafka/index.ts +3 -1
  43. package/dist/node-definitions/nodes/n8n-nodes-base/kafka/v2.schema.js +35 -0
  44. package/dist/node-definitions/nodes/n8n-nodes-base/kafka/v2.ts +100 -0
  45. package/dist/node-definitions/nodes/n8n-nodes-base/kafkaTrigger/index.ts +3 -1
  46. package/dist/node-definitions/nodes/n8n-nodes-base/kafkaTrigger/v2.schema.js +30 -0
  47. package/dist/node-definitions/nodes/n8n-nodes-base/kafkaTrigger/v2.ts +124 -0
  48. package/dist/node-definitions/nodes/n8n-nodes-base/microsoftOutlook/v2/resource_event/operation_create.ts +2 -2
  49. package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v1.schema.js +1 -0
  50. package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v1.ts +6 -0
  51. package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v11.schema.js +1 -0
  52. package/dist/node-definitions/nodes/n8n-nodes-base/salesforceTrigger/v11.ts +6 -0
  53. package/dist/node-definitions/nodes/n8n-nodes-base/slack/index.ts +3 -1
  54. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v2/resource_message/operation_search.schema.js +1 -1
  55. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v2/resource_message/operation_search.ts +26 -0
  56. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v21/resource_message/operation_search.schema.js +1 -1
  57. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v21/resource_message/operation_search.ts +26 -0
  58. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v22/resource_message/operation_search.schema.js +1 -1
  59. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v22/resource_message/operation_search.ts +26 -0
  60. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v23/resource_message/operation_search.schema.js +1 -1
  61. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v23/resource_message/operation_search.ts +26 -0
  62. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v24/resource_message/operation_search.schema.js +1 -1
  63. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v24/resource_message/operation_search.ts +26 -0
  64. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v25/resource_message/operation_search.schema.js +1 -1
  65. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v25/resource_message/operation_search.ts +26 -0
  66. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v26/resource_message/operation_search.schema.js +1 -1
  67. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v26/resource_message/operation_search.ts +26 -0
  68. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/index.schema.js +32 -0
  69. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/index.ts +30 -0
  70. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/index.schema.js +52 -0
  71. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/index.ts +60 -0
  72. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_archive.schema.js +23 -0
  73. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_archive.ts +29 -0
  74. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_close.schema.js +23 -0
  75. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_close.ts +29 -0
  76. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_create.schema.js +24 -0
  77. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_create.ts +32 -0
  78. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get.schema.js +24 -0
  79. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get.ts +39 -0
  80. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get_all.schema.js +25 -0
  81. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_get_all.ts +48 -0
  82. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_history.schema.js +26 -0
  83. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_history.ts +56 -0
  84. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_invite.schema.js +24 -0
  85. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_invite.ts +35 -0
  86. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_join.schema.js +23 -0
  87. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_join.ts +29 -0
  88. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_kick.schema.js +24 -0
  89. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_kick.ts +34 -0
  90. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_leave.schema.js +23 -0
  91. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_leave.ts +29 -0
  92. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_member.schema.js +26 -0
  93. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_member.ts +45 -0
  94. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_open.schema.js +23 -0
  95. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_open.ts +41 -0
  96. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_rename.schema.js +24 -0
  97. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_rename.ts +33 -0
  98. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_replies.schema.js +27 -0
  99. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_replies.ts +60 -0
  100. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_purpose.schema.js +24 -0
  101. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_purpose.ts +33 -0
  102. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_topic.schema.js +24 -0
  103. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_set_topic.ts +33 -0
  104. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_unarchive.schema.js +23 -0
  105. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_channel/operation_unarchive.ts +29 -0
  106. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/index.schema.js +24 -0
  107. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/index.ts +18 -0
  108. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get.schema.js +23 -0
  109. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get.ts +27 -0
  110. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get_all.schema.js +25 -0
  111. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_get_all.ts +62 -0
  112. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_upload.schema.js +24 -0
  113. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_file/operation_upload.ts +56 -0
  114. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/index.schema.js +36 -0
  115. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/index.ts +36 -0
  116. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete.schema.js +26 -0
  117. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete.ts +44 -0
  118. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete_scheduled.schema.js +24 -0
  119. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_delete_scheduled.ts +32 -0
  120. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_many_scheduled.schema.js +25 -0
  121. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_many_scheduled.ts +50 -0
  122. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_permalink.schema.js +24 -0
  123. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_get_permalink.ts +32 -0
  124. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_post.schema.js +30 -0
  125. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_post.ts +237 -0
  126. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_schedule.schema.js +31 -0
  127. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_schedule.ts +241 -0
  128. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_search.schema.js +26 -0
  129. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_search.ts +98 -0
  130. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_send_and_wait.schema.js +36 -0
  131. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_send_and_wait.ts +341 -0
  132. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_update.schema.js +29 -0
  133. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_message/operation_update.ts +72 -0
  134. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/index.schema.js +24 -0
  135. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/index.ts +18 -0
  136. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_add.schema.js +25 -0
  137. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_add.ts +37 -0
  138. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_get.schema.js +24 -0
  139. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_get.ts +33 -0
  140. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_remove.schema.js +25 -0
  141. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_reaction/operation_remove.ts +37 -0
  142. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/index.schema.js +24 -0
  143. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/index.ts +18 -0
  144. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_add.schema.js +27 -0
  145. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_add.ts +53 -0
  146. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_delete.schema.js +23 -0
  147. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_delete.ts +42 -0
  148. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_get_all.schema.js +24 -0
  149. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_star/operation_get_all.ts +34 -0
  150. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/index.schema.js +30 -0
  151. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/index.ts +27 -0
  152. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_all.schema.js +24 -0
  153. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_all.ts +34 -0
  154. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_presence.schema.js +23 -0
  155. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_presence.ts +29 -0
  156. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_profile.schema.js +23 -0
  157. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_get_profile.ts +29 -0
  158. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_info.schema.js +23 -0
  159. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_info.ts +29 -0
  160. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_lookup_by_email.schema.js +23 -0
  161. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_lookup_by_email.ts +27 -0
  162. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_update_profile.schema.js +23 -0
  163. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user/operation_update_profile.ts +78 -0
  164. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/index.schema.js +32 -0
  165. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/index.ts +30 -0
  166. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_create.schema.js +24 -0
  167. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_create.ts +48 -0
  168. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_disable.schema.js +24 -0
  169. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_disable.ts +36 -0
  170. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_enable.schema.js +24 -0
  171. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_enable.ts +36 -0
  172. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_all.schema.js +25 -0
  173. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_all.ts +52 -0
  174. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_users.schema.js +24 -0
  175. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_get_users.ts +36 -0
  176. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update.schema.js +24 -0
  177. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update.ts +50 -0
  178. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update_users.schema.js +25 -0
  179. package/dist/node-definitions/nodes/n8n-nodes-base/slack/v27/resource_user_group/operation_update_users.ts +42 -0
  180. package/dist/nodes/Confluence/Confluence.node.d.ts +6 -0
  181. package/dist/nodes/Confluence/Confluence.node.d.ts.map +1 -0
  182. package/dist/nodes/Confluence/Confluence.node.js +13 -0
  183. package/dist/nodes/Confluence/Confluence.node.js.map +1 -0
  184. package/dist/nodes/Confluence/Confluence.node.json +18 -0
  185. package/dist/nodes/Confluence/actions/description.d.ts +3 -0
  186. package/dist/nodes/Confluence/actions/description.d.ts.map +1 -0
  187. package/dist/nodes/Confluence/actions/description.js +28 -0
  188. package/dist/nodes/Confluence/actions/description.js.map +1 -0
  189. package/dist/nodes/Confluence/actions/router.d.ts +9 -0
  190. package/dist/nodes/Confluence/actions/router.d.ts.map +1 -0
  191. package/dist/nodes/Confluence/actions/router.js +15 -0
  192. package/dist/nodes/Confluence/actions/router.js.map +1 -0
  193. package/dist/nodes/Confluence/confluence.svg +1 -0
  194. package/dist/nodes/Confluence/transport/index.d.ts +20 -0
  195. package/dist/nodes/Confluence/transport/index.d.ts.map +1 -0
  196. package/dist/nodes/Confluence/transport/index.js +117 -0
  197. package/dist/nodes/Confluence/transport/index.js.map +1 -0
  198. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.d.ts.map +1 -1
  199. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.js +48 -0
  200. package/dist/nodes/ExecuteWorkflow/ExecuteWorkflow/ExecuteWorkflow.node.js.map +1 -1
  201. package/dist/nodes/Form/interfaces.d.ts +1 -0
  202. package/dist/nodes/Form/interfaces.d.ts.map +1 -1
  203. package/dist/nodes/Form/interfaces.js.map +1 -1
  204. package/dist/nodes/Form/utils/utils.d.ts +4 -2
  205. package/dist/nodes/Form/utils/utils.d.ts.map +1 -1
  206. package/dist/nodes/Form/utils/utils.js +125 -2
  207. package/dist/nodes/Form/utils/utils.js.map +1 -1
  208. package/dist/nodes/Function/Function.node.d.ts.map +1 -1
  209. package/dist/nodes/Function/Function.node.js +7 -1
  210. package/dist/nodes/Function/Function.node.js.map +1 -1
  211. package/dist/nodes/FunctionItem/FunctionItem.node.d.ts.map +1 -1
  212. package/dist/nodes/FunctionItem/FunctionItem.node.js +7 -1
  213. package/dist/nodes/FunctionItem/FunctionItem.node.js.map +1 -1
  214. package/dist/nodes/Github/Github.node.d.ts.map +1 -1
  215. package/dist/nodes/Github/Github.node.js +25 -1
  216. package/dist/nodes/Github/Github.node.js.map +1 -1
  217. package/dist/nodes/HttpRequest/V3/Description.js +5 -5
  218. package/dist/nodes/HttpRequest/V3/Description.js.map +1 -1
  219. package/dist/nodes/Kafka/Kafka.node.d.ts +3 -9
  220. package/dist/nodes/Kafka/Kafka.node.d.ts.map +1 -1
  221. package/dist/nodes/Kafka/Kafka.node.js +17 -382
  222. package/dist/nodes/Kafka/Kafka.node.js.map +1 -1
  223. package/dist/nodes/Kafka/KafkaTrigger.node.d.ts +3 -4
  224. package/dist/nodes/Kafka/KafkaTrigger.node.d.ts.map +1 -1
  225. package/dist/nodes/Kafka/KafkaTrigger.node.js +18 -452
  226. package/dist/nodes/Kafka/KafkaTrigger.node.js.map +1 -1
  227. package/dist/nodes/Kafka/utils.d.ts +62 -1
  228. package/dist/nodes/Kafka/utils.d.ts.map +1 -1
  229. package/dist/nodes/Kafka/utils.js +151 -16
  230. package/dist/nodes/Kafka/utils.js.map +1 -1
  231. package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.d.ts +7 -0
  232. package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.d.ts.map +1 -0
  233. package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.js +480 -0
  234. package/dist/nodes/Kafka/v1/KafkaTriggerV1.node.js.map +1 -0
  235. package/dist/nodes/Kafka/v1/KafkaV1.node.d.ts +12 -0
  236. package/dist/nodes/Kafka/v1/KafkaV1.node.d.ts.map +1 -0
  237. package/dist/nodes/Kafka/v1/KafkaV1.node.js +397 -0
  238. package/dist/nodes/Kafka/v1/KafkaV1.node.js.map +1 -0
  239. package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.d.ts +7 -0
  240. package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.d.ts.map +1 -0
  241. package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.js +101 -0
  242. package/dist/nodes/Kafka/v2/KafkaTriggerV2.node.js.map +1 -0
  243. package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.d.ts +3 -0
  244. package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.d.ts.map +1 -0
  245. package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.js +291 -0
  246. package/dist/nodes/Kafka/v2/KafkaTriggerV2Description.js.map +1 -0
  247. package/dist/nodes/Kafka/v2/KafkaV2.node.d.ts +7 -0
  248. package/dist/nodes/Kafka/v2/KafkaV2.node.d.ts.map +1 -0
  249. package/dist/nodes/Kafka/v2/KafkaV2.node.js +386 -0
  250. package/dist/nodes/Kafka/v2/KafkaV2.node.js.map +1 -0
  251. package/dist/nodes/Kafka/v2/TriggerSettings.d.ts +109 -0
  252. package/dist/nodes/Kafka/v2/TriggerSettings.d.ts.map +1 -0
  253. package/dist/nodes/Kafka/v2/TriggerSettings.js +273 -0
  254. package/dist/nodes/Kafka/v2/TriggerSettings.js.map +1 -0
  255. package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.d.ts +51 -0
  256. package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.d.ts.map +1 -0
  257. package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.js +189 -0
  258. package/dist/nodes/Kafka/v2/consumer/ConsumeTopic.js.map +1 -0
  259. package/dist/nodes/Kafka/v2/consumer/DataEmitter.d.ts +45 -0
  260. package/dist/nodes/Kafka/v2/consumer/DataEmitter.d.ts.map +1 -0
  261. package/dist/nodes/Kafka/v2/consumer/DataEmitter.js +153 -0
  262. package/dist/nodes/Kafka/v2/consumer/DataEmitter.js.map +1 -0
  263. package/dist/nodes/Kafka/v2/consumer/MessageParser.d.ts +23 -0
  264. package/dist/nodes/Kafka/v2/consumer/MessageParser.d.ts.map +1 -0
  265. package/dist/nodes/Kafka/v2/consumer/MessageParser.js +100 -0
  266. package/dist/nodes/Kafka/v2/consumer/MessageParser.js.map +1 -0
  267. package/dist/nodes/Kafka/v2/consumer/index.d.ts +7 -0
  268. package/dist/nodes/Kafka/v2/consumer/index.d.ts.map +1 -0
  269. package/dist/nodes/Kafka/v2/consumer/index.js +13 -0
  270. package/dist/nodes/Kafka/v2/consumer/index.js.map +1 -0
  271. package/dist/nodes/Kafka/v2/transport/LibraryLogger.d.ts +18 -0
  272. package/dist/nodes/Kafka/v2/transport/LibraryLogger.d.ts.map +1 -0
  273. package/dist/nodes/Kafka/v2/transport/LibraryLogger.js +94 -0
  274. package/dist/nodes/Kafka/v2/transport/LibraryLogger.js.map +1 -0
  275. package/dist/nodes/Kafka/v2/transport/client.d.ts +20 -0
  276. package/dist/nodes/Kafka/v2/transport/client.d.ts.map +1 -0
  277. package/dist/nodes/Kafka/v2/transport/client.js +36 -0
  278. package/dist/nodes/Kafka/v2/transport/client.js.map +1 -0
  279. package/dist/nodes/Kafka/v2/transport/config.d.ts +13 -0
  280. package/dist/nodes/Kafka/v2/transport/config.d.ts.map +1 -0
  281. package/dist/nodes/Kafka/v2/transport/config.js +57 -0
  282. package/dist/nodes/Kafka/v2/transport/config.js.map +1 -0
  283. package/dist/nodes/Kafka/v2/transport/consumer.d.ts +66 -0
  284. package/dist/nodes/Kafka/v2/transport/consumer.d.ts.map +1 -0
  285. package/dist/nodes/Kafka/v2/transport/consumer.js +48 -0
  286. package/dist/nodes/Kafka/v2/transport/consumer.js.map +1 -0
  287. package/dist/nodes/Kafka/v2/transport/index.d.ts +6 -0
  288. package/dist/nodes/Kafka/v2/transport/index.d.ts.map +1 -0
  289. package/dist/nodes/Kafka/v2/transport/index.js +16 -0
  290. package/dist/nodes/Kafka/v2/transport/index.js.map +1 -0
  291. package/dist/nodes/Kafka/v2/transport/producer.d.ts +9 -0
  292. package/dist/nodes/Kafka/v2/transport/producer.d.ts.map +1 -0
  293. package/dist/nodes/Kafka/v2/transport/producer.js +18 -0
  294. package/dist/nodes/Kafka/v2/transport/producer.js.map +1 -0
  295. package/dist/nodes/Merge/Merge.node.json +1 -1
  296. package/dist/nodes/Microsoft/SharePoint/v2/file/index.d.ts.map +1 -1
  297. package/dist/nodes/Microsoft/SharePoint/v2/file/index.js +0 -3
  298. package/dist/nodes/Microsoft/SharePoint/v2/file/index.js.map +1 -1
  299. package/dist/nodes/Microsoft/SharePoint/v2/site/index.d.ts.map +1 -1
  300. package/dist/nodes/Microsoft/SharePoint/v2/site/index.js +10 -8
  301. package/dist/nodes/Microsoft/SharePoint/v2/site/index.js.map +1 -1
  302. package/dist/nodes/Notion/shared/GenericFunctions.d.ts +3 -3
  303. package/dist/nodes/Notion/shared/GenericFunctions.d.ts.map +1 -1
  304. package/dist/nodes/Salesforce/SalesforceTrigger.node.d.ts.map +1 -1
  305. package/dist/nodes/Salesforce/SalesforceTrigger.node.js +31 -0
  306. package/dist/nodes/Salesforce/SalesforceTrigger.node.js.map +1 -1
  307. package/dist/nodes/Schedule/GenericFunctions.d.ts +2 -1
  308. package/dist/nodes/Schedule/GenericFunctions.d.ts.map +1 -1
  309. package/dist/nodes/Schedule/GenericFunctions.js +43 -0
  310. package/dist/nodes/Schedule/GenericFunctions.js.map +1 -1
  311. package/dist/nodes/Schedule/ScheduleTrigger.node.d.ts.map +1 -1
  312. package/dist/nodes/Schedule/ScheduleTrigger.node.js +2 -1
  313. package/dist/nodes/Schedule/ScheduleTrigger.node.js.map +1 -1
  314. package/dist/nodes/Schedule/SchedulerInterface.d.ts +15 -1
  315. package/dist/nodes/Schedule/SchedulerInterface.d.ts.map +1 -1
  316. package/dist/nodes/Slack/Slack.node.d.ts.map +1 -1
  317. package/dist/nodes/Slack/Slack.node.js +2 -1
  318. package/dist/nodes/Slack/Slack.node.js.map +1 -1
  319. package/dist/nodes/Slack/V2/GenericFunctions.d.ts +12 -0
  320. package/dist/nodes/Slack/V2/GenericFunctions.d.ts.map +1 -1
  321. package/dist/nodes/Slack/V2/GenericFunctions.js +80 -19
  322. package/dist/nodes/Slack/V2/GenericFunctions.js.map +1 -1
  323. package/dist/nodes/Slack/V2/MessageDescription.d.ts.map +1 -1
  324. package/dist/nodes/Slack/V2/MessageDescription.js +137 -0
  325. package/dist/nodes/Slack/V2/MessageDescription.js.map +1 -1
  326. package/dist/nodes/Slack/V2/SlackHitlWebhook.d.ts +1 -1
  327. package/dist/nodes/Slack/V2/SlackV2.node.d.ts.map +1 -1
  328. package/dist/nodes/Slack/V2/SlackV2.node.js +64 -17
  329. package/dist/nodes/Slack/V2/SlackV2.node.js.map +1 -1
  330. package/dist/nodes/Slack/__schema__/v2.7.0/message/search.json +75 -0
  331. package/dist/nodes/Twitter/V2/GenericFunctions.js +1 -1
  332. package/dist/nodes/Twitter/V2/GenericFunctions.js.map +1 -1
  333. package/dist/nodes/Webhook/description.d.ts.map +1 -1
  334. package/dist/nodes/Webhook/description.js +15 -9
  335. package/dist/nodes/Webhook/description.js.map +1 -1
  336. package/dist/types/credentials.json +4 -4
  337. package/dist/types/nodes.json +18 -15
  338. package/package.json +14 -12
@@ -16,7 +16,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
16
16
  const parametersSchema = z.object({
17
17
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
18
18
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
19
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
19
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
20
20
  requestMethod: z.union([z.literal('DELETE'), z.literal('GET'), z.literal('HEAD'), z.literal('OPTIONS'), z.literal('PATCH'), z.literal('POST'), z.literal('PUT'), expressionSchema]).optional(),
21
21
  url: stringOrExpression,
22
22
  allowUnauthorizedCerts: booleanOrExpression.optional(),
@@ -12,10 +12,10 @@ export interface HttpRequestV2Params {
12
12
  */
13
13
  nodeCredentialType?: string;
14
14
  /**
15
- * Generic Auth Type
15
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer <token>` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
16
16
  * @displayOptions.show { authentication: ["genericCredentialType"] }
17
17
  */
18
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
18
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
19
19
  /**
20
20
  * The request method to use
21
21
  * @default GET
@@ -190,6 +190,7 @@ export interface HttpRequestV2Credentials {
190
190
  /** Generic auth credentials - set the 'genericAuthType' config parameter to select which one to use */
191
191
  httpBearerAuth?: CredentialReference;
192
192
  httpCustomAuth?: CredentialReference;
193
+ httpTemplatedCustomAuth?: CredentialReference;
193
194
  }
194
195
 
195
196
  interface HttpRequestV2NodeBase {
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV3Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV3Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV4Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV4Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV41Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV41Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV42Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV42Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV43Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV43Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV44Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV44Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -18,7 +18,7 @@ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrE
18
18
  url: stringOrExpression,
19
19
  authentication: z.union([z.literal('none'), z.literal('predefinedCredentialType'), z.literal('genericCredentialType')]).optional(),
20
20
  nodeCredentialType: resolveSchema({ parameters, schema: z.string(), required: false, displayOptions: {"show":{"authentication":["predefinedCredentialType"]}}, defaults: {"authentication":"none"} }),
21
- genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
21
+ genericAuthType: resolveSchema({ parameters, schema: z.union([z.literal('httpBasicAuth'), z.literal('httpBearerAuth'), z.literal('httpDigestAuth'), z.literal('httpHeaderAuth'), z.literal('httpQueryAuth'), z.literal('httpCustomAuth'), z.literal('httpTemplatedCustomAuth'), z.literal('oAuth1Api'), z.literal('oAuth2Api'), expressionSchema]), required: false, displayOptions: {"show":{"authentication":["genericCredentialType"]}}, defaults: {"authentication":"none"} }),
22
22
  provideSslCertificates: booleanOrExpression.optional(),
23
23
  sendQuery: z.boolean().optional(),
24
24
  specifyQuery: resolveSchema({ parameters, schema: z.union([z.literal('keypair'), z.literal('json'), expressionSchema]), required: false, displayOptions: {"show":{"sendQuery":[true]}}, defaults: {"sendQuery":false} }),
@@ -26,16 +26,16 @@ export interface HttpRequestV45Params {
26
26
  */
27
27
  nodeCredentialType?: string;
28
28
  /**
29
- * Generic Auth Type
30
- * @builderHint Pick by how the API authenticates, not by what the user calls it:
31
- - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth (single token field, best UX). Use this for OpenAI, Anthropic, GitHub PATs, Stripe, Notion, and any service whose docs say "Bearer".
32
- - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth (user must enter the header name and/or full value).
29
+ * For NEW credentials prefer 'httpTemplatedCustomAuth' whenever the auth fits header/query/body values — `Authorization: Bearer &lt;token&gt;` becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}; do NOT use httpBearerAuth for it. Plain generic types are only for reusing an existing credential or for what a template cannot express (basic, digest, OAuth).
30
+ * @builderHint For a NEW credential default to httpTemplatedCustomAuth whenever the auth fits header/query/body values — API keys and bearer tokens alike ("Authorization: Bearer &lt;token&gt;" becomes the template {"headers":{"Authorization":"Bearer {{api_key}}"}}). Setup rejects new plain generic credentials on this node UNLESS the user explicitly asked for that type — an explicit user choice always wins, don't argue with it.
31
+ Pick a plain generic type when reusing an existing credential of that type, or when the user explicitly asks for one, matching how the API authenticates:
32
+ - "Authorization: Bearer &lt;token&gt;" → httpBearerAuth.
33
+ - Custom header like X-API-Key, apikey, X-Auth-Token, or non-Bearer Authorization schemes → httpHeaderAuth.
33
34
  - API key in the query string (?api_key=...) → httpQueryAuth.
34
- - username + password → httpBasicAuth.
35
- A user saying "API key" or "header auth" usually means httpBearerAuth only when the docs use the Authorization: Bearer &lt;token&gt; scheme. Use httpHeaderAuth for custom header names or non-Bearer Authorization schemes where the full header value/prefix must be user-controlled.
35
+ For what a template cannot express, use the matching type for new and existing credentials alike: username + password → httpBasicAuth, digest → httpDigestAuth, OAuth → oAuth2Api/oAuth1Api.
36
36
  * @displayOptions.show { authentication: ["genericCredentialType"] }
37
37
  */
38
- genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
38
+ genericAuthType?: 'httpBasicAuth' | 'httpBearerAuth' | 'httpDigestAuth' | 'httpHeaderAuth' | 'httpQueryAuth' | 'httpCustomAuth' | 'httpTemplatedCustomAuth' | 'oAuth1Api' | 'oAuth2Api' | Expression<string>;
39
39
  provideSslCertificates?: boolean | Expression<boolean>;
40
40
  /**
41
41
  * Whether the request has query params or not
@@ -409,6 +409,7 @@ export interface HttpRequestV45Credentials {
409
409
  httpHeaderAuth?: CredentialReference;
410
410
  httpQueryAuth?: CredentialReference;
411
411
  httpCustomAuth?: CredentialReference;
412
+ httpTemplatedCustomAuth?: CredentialReference;
412
413
  oAuth1Api?: CredentialReference;
413
414
  oAuth2Api?: CredentialReference;
414
415
  }
@@ -4,9 +4,11 @@
4
4
  * Re-exports all version-specific types and provides combined union type.
5
5
  */
6
6
 
7
+ import type { KafkaV2Node } from './v2';
7
8
  import type { KafkaV1Node } from './v1';
8
9
 
10
+ export * from './v2';
9
11
  export * from './v1';
10
12
 
11
13
  // Combined union type for all versions
12
- export type KafkaNode = KafkaV1Node;
14
+ export type KafkaNode = KafkaV2Node | KafkaV1Node;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Kafka Node - Version 2 - Zod Validation Schemas
3
+ *
4
+ * These schemas validate node configuration at runtime.
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema, resolveSchema, resolveOneOfSchemas }) {
14
+
15
+ // Parameters schema
16
+ const parametersSchema = z.object({
17
+ topic: stringOrExpression.optional(),
18
+ sendInputData: booleanOrExpression.optional(),
19
+ message: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"sendInputData":[false]}}, defaults: {"sendInputData":true} }),
20
+ jsonParameters: booleanOrExpression.optional(),
21
+ useSchemaRegistry: booleanOrExpression.optional(),
22
+ schemaRegistryUrl: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"useSchemaRegistry":[true]}}, defaults: {"useSchemaRegistry":false} }),
23
+ useKey: booleanOrExpression.optional(),
24
+ key: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"useKey":[true]}}, defaults: {"useKey":false} }),
25
+ eventName: resolveSchema({ parameters, schema: stringOrExpression, required: true, displayOptions: {"show":{"useSchemaRegistry":[true]}}, defaults: {"useSchemaRegistry":false} }),
26
+ headersUi: resolveSchema({ parameters, schema: z.object({ headerValues: z.array(z.object({ key: stringOrExpression.optional(), value: stringOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"jsonParameters":[false]}}, defaults: {"jsonParameters":false} }),
27
+ headerParametersJson: resolveSchema({ parameters, schema: z.union([iDataObjectSchema, z.string()]), required: false, displayOptions: {"show":{"jsonParameters":[true]}}, defaults: {"jsonParameters":false} }),
28
+ options: z.object({ acks: booleanOrExpression.optional(), compression: z.union([z.literal('gzip'), z.literal('lz4'), z.literal('snappy'), z.literal('zstd'), z.literal('none'), expressionSchema]).optional(), timeout: numberOrExpression.optional() }).optional(),
29
+ });
30
+
31
+ // Return combined config schema
32
+ return z.object({
33
+ parameters: parametersSchema.nullable().optional(),
34
+ });
35
+ };
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Kafka Node - Version 2
3
+ * Sends messages to a Kafka topic
4
+ */
5
+
6
+
7
+ export interface KafkaV2Params {
8
+ /**
9
+ * Name of the queue of topic to publish to
10
+ */
11
+ topic?: string | Expression<string>;
12
+ /**
13
+ * Whether to send the data the node receives as JSON to Kafka
14
+ * @default true
15
+ */
16
+ sendInputData?: boolean | Expression<boolean>;
17
+ /**
18
+ * The message to be sent
19
+ * @displayOptions.show { sendInputData: [false] }
20
+ */
21
+ message?: string | Expression<string>;
22
+ jsonParameters?: boolean | Expression<boolean>;
23
+ /**
24
+ * Whether to use Confluent Schema Registry
25
+ * @default false
26
+ */
27
+ useSchemaRegistry?: boolean | Expression<boolean>;
28
+ /**
29
+ * URL of the schema registry. Only used when no Schema Registry credential is selected.
30
+ * @displayOptions.show { useSchemaRegistry: [true] }
31
+ */
32
+ schemaRegistryUrl?: string | Expression<string>;
33
+ /**
34
+ * Whether to use a message key
35
+ * @default false
36
+ */
37
+ useKey?: boolean | Expression<boolean>;
38
+ /**
39
+ * The message key
40
+ * @displayOptions.show { useKey: [true] }
41
+ */
42
+ key: string | Expression<string>;
43
+ /**
44
+ * Namespace and Name of Schema in Schema Registry (namespace.name)
45
+ * @displayOptions.show { useSchemaRegistry: [true] }
46
+ */
47
+ eventName: string | Expression<string>;
48
+ /**
49
+ * Headers
50
+ * @displayOptions.show { jsonParameters: [false] }
51
+ * @default {}
52
+ */
53
+ headersUi?: {
54
+ /** Header
55
+ */
56
+ headerValues?: Array<{
57
+ /** Key
58
+ */
59
+ key?: string | Expression<string>;
60
+ /** Value
61
+ */
62
+ value?: string | Expression<string>;
63
+ }>;
64
+ };
65
+ /**
66
+ * Header parameters as JSON (flat object)
67
+ * @displayOptions.show { jsonParameters: [true] }
68
+ */
69
+ headerParametersJson?: IDataObject | string | Expression<string>;
70
+ options?: {
71
+ /** Whether or not producer must wait for acknowledgement from all replicas
72
+ * @default false
73
+ */
74
+ acks?: boolean | Expression<boolean>;
75
+ /** Codec used to compress messages. Version 1 of the Kafka Trigger cannot read Snappy, LZ4 or Zstd — use GZIP or None while version 1 triggers consume this topic.
76
+ * @default none
77
+ */
78
+ compression?: 'gzip' | 'lz4' | 'snappy' | 'zstd' | 'none' | Expression<string>;
79
+ /** The time to await a response in ms
80
+ * @default 30000
81
+ */
82
+ timeout?: number | Expression<number>;
83
+ };
84
+ }
85
+
86
+ export interface KafkaV2Credentials {
87
+ kafka: CredentialReference;
88
+ schemaRegistryApi?: CredentialReference;
89
+ }
90
+
91
+ interface KafkaV2NodeBase {
92
+ type: 'n8n-nodes-base.kafka';
93
+ version: 2;
94
+ }
95
+
96
+ export type KafkaV2ParamsNode = KafkaV2NodeBase & {
97
+ config: NodeConfig<KafkaV2Params> & { credentials?: KafkaV2Credentials };
98
+ };
99
+
100
+ export type KafkaV2Node = KafkaV2ParamsNode;
@@ -4,15 +4,17 @@
4
4
  * Re-exports all version-specific types and provides combined union type.
5
5
  */
6
6
 
7
+ import type { KafkaTriggerV2Node } from './v2';
7
8
  import type { KafkaTriggerV13Node } from './v13';
8
9
  import type { KafkaTriggerV12Node } from './v12';
9
10
  import type { KafkaTriggerV11Node } from './v11';
10
11
  import type { KafkaTriggerV1Node } from './v1';
11
12
 
13
+ export * from './v2';
12
14
  export * from './v13';
13
15
  export * from './v12';
14
16
  export * from './v11';
15
17
  export * from './v1';
16
18
 
17
19
  // Combined union type for all versions
18
- export type KafkaTriggerNode = KafkaTriggerV13Node | KafkaTriggerV12Node | KafkaTriggerV11Node | KafkaTriggerV1Node;
20
+ export type KafkaTriggerNode = KafkaTriggerV2Node | KafkaTriggerV13Node | KafkaTriggerV12Node | KafkaTriggerV11Node | KafkaTriggerV1Node;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Kafka Trigger Node - Version 2 - Zod Validation Schemas
3
+ *
4
+ * These schemas validate node configuration at runtime.
5
+ * Use .parse() for strict validation or .safeParse() for error handling.
6
+ *
7
+ * Schema helpers (z, expressionSchema, etc.) are passed as parameters
8
+ * by the schema-validator, not imported from external files.
9
+ *
10
+ * @generated - CommonJS JavaScript for runtime loading
11
+ */
12
+
13
+ module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema, resolveSchema, resolveOneOfSchemas }) {
14
+
15
+ // Parameters schema
16
+ const parametersSchema = z.object({
17
+ topic: stringOrExpression,
18
+ groupId: stringOrExpression,
19
+ resolveOffset: z.union([z.literal('onCompletion'), z.literal('onSuccess'), z.literal('onStatus'), z.literal('immediately'), expressionSchema]).optional(),
20
+ allowedStatuses: resolveSchema({ parameters, schema: z.array(z.union([z.literal('canceled'), z.literal('crashed'), z.literal('error'), z.literal('new'), z.literal('running'), z.literal('success'), z.literal('unknown'), z.literal('waiting')])), required: false, displayOptions: {"show":{"resolveOffset":["onStatus"]}}, defaults: {"resolveOffset":"onCompletion"} }),
21
+ useSchemaRegistry: booleanOrExpression.optional(),
22
+ schemaRegistryUrl: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"useSchemaRegistry":[true]}}, defaults: {"useSchemaRegistry":false} }),
23
+ options: z.object({ autoCommitInterval: numberOrExpression.optional(), batchSize: numberOrExpression.optional(), fetchMaxBytes: numberOrExpression.optional(), fetchMinBytes: numberOrExpression.optional(), heartbeatInterval: numberOrExpression.optional(), maxInFlightRequests: numberOrExpression.optional(), fromBeginning: booleanOrExpression.optional(), jsonParseMessage: booleanOrExpression.optional(), keepBinaryData: booleanOrExpression.optional(), partitionsConsumedConcurrently: numberOrExpression.optional(), onlyMessage: booleanOrExpression.optional(), returnHeaders: booleanOrExpression.optional(), rebalanceTimeout: numberOrExpression.optional(), errorRetryDelay: numberOrExpression.optional(), sessionTimeout: numberOrExpression.optional() }).optional(),
24
+ });
25
+
26
+ // Return combined config schema
27
+ return z.object({
28
+ parameters: parametersSchema.nullable().optional(),
29
+ });
30
+ };