From 5cd6de473468517e3227e9962af0b05013ccc1a5 Mon Sep 17 00:00:00 2001 From: jigsawstack <91052168+VineeTagarwaL-code@users.noreply.github.com> Date: Wed, 9 Jul 2025 20:45:47 +0530 Subject: [PATCH 1/2] feat: n8n integration doc --- bun.lock | 132 +++++++++++++++++++++++++++++++++++++++ docs.json | 3 +- docs/integration/n8n.mdx | 87 ++++++++++++++++++++++++++ images/n8n/n8n.png | Bin 0 -> 58111 bytes 4 files changed, 221 insertions(+), 1 deletion(-) create mode 100644 bun.lock create mode 100644 docs/integration/n8n.mdx create mode 100644 images/n8n/n8n.png diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..9f6d508 --- /dev/null +++ b/bun.lock @@ -0,0 +1,132 @@ +{ + "lockfileVersion": 1, + "workspaces": { + "": { + "devDependencies": { + "@types/node": "^22.13.10", + "curl-generator": "^0.4.2", + "curlconverter": "^4.12.0", + "dotenv": "^16.4.7", + "tsx": "^4.19.3", + "typescript": "^5.8.2", + }, + }, + }, + "packages": { + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.25.5", "", { "os": "aix", "cpu": "ppc64" }, "sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.25.5", "", { "os": "android", "cpu": "arm" }, "sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.25.5", "", { "os": "android", "cpu": "arm64" }, "sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.25.5", "", { "os": "android", "cpu": "x64" }, "sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.25.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.25.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.25.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.25.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.25.5", "", { "os": "linux", "cpu": "arm" }, "sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.25.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.25.5", "", { "os": "linux", "cpu": "ia32" }, "sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.25.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.25.5", "", { "os": "linux", "cpu": "none" }, "sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.25.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.25.5", "", { "os": "linux", "cpu": "x64" }, "sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw=="], + + "@esbuild/netbsd-arm64": ["@esbuild/netbsd-arm64@0.25.5", "", { "os": "none", "cpu": "arm64" }, "sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.25.5", "", { "os": "none", "cpu": "x64" }, "sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ=="], + + "@esbuild/openbsd-arm64": ["@esbuild/openbsd-arm64@0.25.5", "", { "os": "openbsd", "cpu": "arm64" }, "sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.25.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.25.5", "", { "os": "sunos", "cpu": "x64" }, "sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.25.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.25.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.25.5", "", { "os": "win32", "cpu": "x64" }, "sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g=="], + + "@types/node": ["@types/node@22.15.32", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA=="], + + "argparse": ["argparse@1.0.10", "", { "dependencies": { "sprintf-js": "~1.0.2" } }, "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="], + + "balanced-match": ["balanced-match@1.0.2", "", {}, "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="], + + "brace-expansion": ["brace-expansion@1.1.12", "", { "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg=="], + + "concat-map": ["concat-map@0.0.1", "", {}, "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="], + + "curl-generator": ["curl-generator@0.4.2", "", { "dependencies": { "ms": "^2.0.0" } }, "sha512-YD74vaPyL46XYNbyRCJV91EhYGDrE/EBiW0X/NUIrNZ23jD0Uwr/6vMrCmobYi5KrjtrqN4SnmMhQNYh3qaULw=="], + + "curlconverter": ["curlconverter@4.12.0", "", { "dependencies": { "jsesc": "^3.0.2", "lossless-json": "^4.0.2", "tree-sitter": "^0.21.1", "tree-sitter-bash": "^0.23.1", "web-tree-sitter": "^0.24.3", "yamljs": "^0.3.0" }, "bin": { "curlconverter": "dist/src/cli.js" } }, "sha512-NcwPKJgu9DkCH4gQsnjnXuUtPrhLhoNwvIYTTS5rRrsCC/X2flUswtgmeCyV9ePGszXzFReXk5y/CdBxrsAQ8Q=="], + + "dotenv": ["dotenv@16.5.0", "", {}, "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg=="], + + "esbuild": ["esbuild@0.25.5", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.25.5", "@esbuild/android-arm": "0.25.5", "@esbuild/android-arm64": "0.25.5", "@esbuild/android-x64": "0.25.5", "@esbuild/darwin-arm64": "0.25.5", "@esbuild/darwin-x64": "0.25.5", "@esbuild/freebsd-arm64": "0.25.5", "@esbuild/freebsd-x64": "0.25.5", "@esbuild/linux-arm": "0.25.5", "@esbuild/linux-arm64": "0.25.5", "@esbuild/linux-ia32": "0.25.5", "@esbuild/linux-loong64": "0.25.5", "@esbuild/linux-mips64el": "0.25.5", "@esbuild/linux-ppc64": "0.25.5", "@esbuild/linux-riscv64": "0.25.5", "@esbuild/linux-s390x": "0.25.5", "@esbuild/linux-x64": "0.25.5", "@esbuild/netbsd-arm64": "0.25.5", "@esbuild/netbsd-x64": "0.25.5", "@esbuild/openbsd-arm64": "0.25.5", "@esbuild/openbsd-x64": "0.25.5", "@esbuild/sunos-x64": "0.25.5", "@esbuild/win32-arm64": "0.25.5", "@esbuild/win32-ia32": "0.25.5", "@esbuild/win32-x64": "0.25.5" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ=="], + + "fs.realpath": ["fs.realpath@1.0.0", "", {}, "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="], + + "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], + + "get-tsconfig": ["get-tsconfig@4.10.1", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ=="], + + "glob": ["glob@7.2.3", "", { "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } }, "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q=="], + + "inflight": ["inflight@1.0.6", "", { "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "lossless-json": ["lossless-json@4.1.0", "", {}, "sha512-DgoRs42jH/yNubp8iinRqvG0xn5awHKXVY+7lGYjBaByoHGZt/Dz5Jkaf5znP2XHbTnAA+bbkhK3lMIaf3+92A=="], + + "minimatch": ["minimatch@3.1.2", "", { "dependencies": { "brace-expansion": "^1.1.7" } }, "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "node-addon-api": ["node-addon-api@8.4.0", "", {}, "sha512-D9DI/gXHvVmjHS08SVch0Em8G5S1P+QWtU31appcKT/8wFSPRcdHadIFSAntdMMVM5zz+/DL+bL/gz3UDppqtg=="], + + "node-gyp-build": ["node-gyp-build@4.8.4", "", { "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "path-is-absolute": ["path-is-absolute@1.0.1", "", {}, "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg=="], + + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + + "sprintf-js": ["sprintf-js@1.0.3", "", {}, "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="], + + "tree-sitter": ["tree-sitter@0.21.1", "", { "dependencies": { "node-addon-api": "^8.0.0", "node-gyp-build": "^4.8.0" } }, "sha512-7dxoA6kYvtgWw80265MyqJlkRl4yawIjO7S5MigytjELkX43fV2WsAXzsNfO7sBpPPCF5Gp0+XzHk0DwLCq3xQ=="], + + "tree-sitter-bash": ["tree-sitter-bash@0.23.3", "", { "dependencies": { "node-addon-api": "^8.2.1", "node-gyp-build": "^4.8.2" }, "peerDependencies": { "tree-sitter": "^0.21.1" }, "optionalPeers": ["tree-sitter"] }, "sha512-36cg/GQ2YmIbeiBeqeuh4fBJ6i4kgVouDaqTxqih5ysPag+zHufyIaxMOFeM8CeplwAK/Luj1o5XHqgdAfoCZg=="], + + "tsx": ["tsx@4.20.3", "", { "dependencies": { "esbuild": "~0.25.0", "get-tsconfig": "^4.7.5" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "bin": { "tsx": "dist/cli.mjs" } }, "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ=="], + + "typescript": ["typescript@5.8.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="], + + "undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="], + + "web-tree-sitter": ["web-tree-sitter@0.24.7", "", {}, "sha512-CdC/TqVFbXqR+C51v38hv6wOPatKEUGxa39scAeFSm98wIhZxAYonhRQPSMmfZ2w7JDI0zQDdzdmgtNk06/krQ=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "yamljs": ["yamljs@0.3.0", "", { "dependencies": { "argparse": "^1.0.7", "glob": "^7.0.5" }, "bin": { "yaml2json": "./bin/yaml2json", "json2yaml": "./bin/json2yaml" } }, "sha512-C/FsVVhht4iPQYXOInoxUM/1ELSf9EsgKH34FofQOp6hwCPrW4vG4w5++TED3xRUo8gD7l0P1J1dLlDYzODsTQ=="], + } +} diff --git a/docs.json b/docs.json index d4b574b..3550503 100644 --- a/docs.json +++ b/docs.json @@ -76,7 +76,8 @@ "docs/integration/groq", "docs/integration/langchain", "docs/integration/zapier", - "docs/integration/aries" + "docs/integration/aries", + "docs/integration/n8n" ] }, { diff --git a/docs/integration/n8n.mdx b/docs/integration/n8n.mdx new file mode 100644 index 0000000..b02f174 --- /dev/null +++ b/docs/integration/n8n.mdx @@ -0,0 +1,87 @@ +--- +title: "n8n" +description: "Integrate JigsawStack's powerful models directly into your n8n workflows." +--- + +Powered by LangChain + +# JigsawStack AI for n8n Workflows + +n8n is a visual, node based workflow automation tool. With JigsawStack’s official n8n node, you can bring intelligent actions into your flows using **API endpoints that run purpose built small models** no infrastructure or ML ops needed. + +JigsawStack delivers **custom small models trained for specialized use cases**, all served through fast and scalable API endpoints. These APIs plug directly into your tech stack, giving you reliable, production ready AI building blocks for your automation needs. + +## Why Use JigsawStack in n8n? + + **Optimized for speed and cost** – Lightweight models that work fast and scale well + **Composable inside workflows** – Integrate easily with hundreds of other n8n nodes + **Focused on use case fit** – Each model is designed to solve real world, narrow problems + **No ML setup required** – Just call an endpoint, no fine tuning or infrastructure + +Whether you're classifying content, processing images, analyzing sentiment, or extracting structured data from the web JigsawStack makes it drop dead simple to bring AI into your workflows. + +**Example Use Cases:** + - Automatically summarize or translate incoming emails + - Detect spam, profanity, or sentiment in user generated content + - Generate images or speech from text for marketing automation + - Scrape and extract data from websites using AI + - Convert natural language to SQL for database queries + - Moderate images for NSFW content before publishing + - Build custom AI powered bots and automations + +## Nodes available + + - AI Scrape + - Analyze Sentiment + - Convert to SQL + - Generate Embedding + - HTML to Any + - Image Generation + - Make Prediction + - NSFW Detection + - Object Detection + - Process Image + - Profanity Detection + - Search Web + - Spam Detection + - Speech to Text + - Spell Check + - Summary + - Text to Speech + - Translate + - Translate Image + - Web Suggestion + +## Quickstart + +1. **Install the Node:** + ```bash + npm install n8n-nodes-jigsawstack + ``` +2. **Add Your API Key:** + In n8n, go to Settings > Credentials + Click "New" and select "JigsawStack API" + Enter your API key from your [JigsawStack dashboard](https://jigsawstack.com) +3. **Add the Node to Your Workflow:** + Drag the JigsawStack node into your workflow + Select the operation you want (e.g., Sentiment Analysis, Image Generation) + Configure the parameters as needed + Connect with other nodes to automate your process + +## Resources & Support + +- **Official npm package:** [n8n-nodes-jigsawstack](https://www.npmjs.com/package/n8n-nodes-jigsawstack) +- **JigsawStack API Documentation:** [API Reference](/docs/api-reference) +- **n8n Documentation:** [n8n.io](https://n8n.io/docs) +- **Community & Feature Requests:** [Discord](https://jigsawstack.com/discord) + +If you have questions, need help with setup, or want to suggest new features, reach out to us anytime! + + + diff --git a/images/n8n/n8n.png b/images/n8n/n8n.png new file mode 100644 index 0000000000000000000000000000000000000000..d95c3ee5c7f237f170426148bd2e6d5e01c41137 GIT binary patch literal 58111 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⋘W{TyTW;Q4(K3~DK_U_ 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 literal 0 HcmV?d00001 From 5e031da9d17749761722c87888fe66ae4f98cc26 Mon Sep 17 00:00:00 2001 From: jigsawstack <91052168+VineeTagarwaL-code@users.noreply.github.com> Date: Fri, 11 Jul 2025 22:16:20 +0530 Subject: [PATCH 2/2] fix: punctuation fix --- docs/integration/n8n.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/integration/n8n.mdx b/docs/integration/n8n.mdx index b02f174..5c3849c 100644 --- a/docs/integration/n8n.mdx +++ b/docs/integration/n8n.mdx @@ -13,7 +13,7 @@ description: "Integrate JigsawStack's powerful models directly into your n8n wor # JigsawStack AI for n8n Workflows -n8n is a visual, node based workflow automation tool. With JigsawStack’s official n8n node, you can bring intelligent actions into your flows using **API endpoints that run purpose built small models** no infrastructure or ML ops needed. +n8n is a visual, node based workflow automation tool. With JigsawStack’s official n8n node, you can bring intelligent actions into your flows using **API endpoints that run purpose built small models**, no infrastructure or ML ops needed. JigsawStack delivers **custom small models trained for specialized use cases**, all served through fast and scalable API endpoints. These APIs plug directly into your tech stack, giving you reliable, production ready AI building blocks for your automation needs.