Back to Connect Claude or ChatGPT via MCP to wFirma invoicing and KSeF
Card snapshot
n8n-workflow-21577.n8n.io
·
2026-10-29 09:19:10 UTC
·
c92d6d2468573b60ab64cbb373a3ccd6a8e6eec0da3439a7cd5f7bc023545087
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"_source": "n8n.io",
"workflow": {
"id": 21577,
"name": "Connect Claude or ChatGPT via MCP to wFirma invoicing and KSeF",
"totalViews": 3,
"price": null,
"purchaseUrl": null,
"recentViews": 3,
"createdAt": "2026-10-23T16:17:05.842Z",
"user": {
"username": "aiadvisors",
"verified": false
},
"readyToDemo": null,
"nodes": [
{
"id": 19,
"icon": "file:httprequest.svg",
"name": "n8n-nodes-base.httpRequest",
"codex": {
"data": {
"alias": [
"API",
"Request",
"URL",
"Build",
"cURL"
],
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
"icon": "\u2600\ufe0f",
"label": "2021: The Year to Automate the New You with n8n"
},
{
"url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
"icon": "\ud83e\uddec",
"label": "Why business process automation with n8n can change your daily life"
},
{
"url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
"icon": "\ud83d\udcc8",
"label": "Automatically pulling and visualizing data with n8n"
},
{
"url": "https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/",
"icon": "\u270d\ufe0f",
"label": "Learn how to automatically cross-post your content with n8n"
},
{
"url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
"icon": "\ud83e\uddfe",
"label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
},
{
"url": "https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/",
"icon": "\ud83d\udef3",
"label": "Running n8n on ships: An interview with Maranics"
},
{
"url": "https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/",
"icon": " \ud83e\udea2",
"label": "What are APIs and how to use them with no code"
},
{
"url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
"icon": "\u26a1\ufe0f",
"label": "5 tasks you can automate with the new Notion API "
},
{
"url": "https://n8n.io/blog/world-poetry-day-workflow/",
"icon": "\ud83d\udcdc",
"label": "Celebrating World Poetry Day with a daily poem in Telegram"
},
{
"url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
"icon": "\ud83d\udca1",
"label": "15 Google apps you can combine and automate to increase productivity"
},
{
"url": "https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/",
"icon": "\ud83c\udfa8",
"label": "Automate Designs with Bannerbear and n8n"
},
{
"url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
"icon": " \ud83d\udd78\ufe0f",
"label": "How uProc scraped a multi-page website with a low-code workflow"
},
{
"url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
"icon": "\ud83d\udcf1",
"label": "Building an expense tracking app in 10 minutes"
},
{
"url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
"icon": "\ud83e\udd16",
"label": "5 workflow automations for Mattermost that we love at n8n"
},
{
"url": "https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/",
"icon": "\ud83e\uddf0",
"label": "How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"
},
{
"url": "https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/",
"icon": "\ud83e\udd84",
"label": "Learn how to use webhooks with Mattermost slash commands"
},
{
"url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
"icon": "\ud83d\udcc8",
"label": "How a Membership Development Manager automates his work and investments"
},
{
"url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
"icon": "\ud83d\udcc8",
"label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
},
{
"url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
"icon": "\ud83c\udfa1",
"label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
},
{
"url": "https://n8n.io/blog/automations-for-activists/",
"icon": "\u2728",
"label": "How Common Knowledge use workflow automation for activism"
},
{
"url": "https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/",
"icon": "\ud83e\udd1f",
"label": "Creating scheduled text affirmations with n8n"
},
{
"url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
"icon": "\ud83d\udef5",
"label": "How Goomer automated their operations with over 200 n8n workflows"
},
{
"url": "https://n8n.io/blog/aws-workflow-automation/",
"label": "7 no-code workflow automations for Amazon Web Services"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"
}
]
},
"categories": [
"Development",
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Helpers"
]
}
}
},
"group": "[\"output\"]",
"defaults": {
"name": "HTTP Request",
"color": "#0004F5"
},
"iconData": {
"type": "file",
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="
},
"displayName": "HTTP Request",
"typeVersion": 4,
"nodeCategories": [
{
"id": 5,
"name": "Development"
},
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 20,
"icon": "fa:map-signs",
"name": "n8n-nodes-base.if",
"codex": {
"data": {
"alias": [
"Router",
"Filter",
"Condition",
"Logic",
"Boolean",
"Branch"
],
"details": "The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.",
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
"icon": "\ud83c\udfed",
"label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
},
{
"url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
"icon": "\u2600\ufe0f",
"label": "2021: The Year to Automate the New You with n8n"
},
{
"url": "https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/",
"icon": "\ud83e\uddec",
"label": "Why business process automation with n8n can change your daily life"
},
{
"url": "https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/",
"icon": "\ud83e\udd2c",
"label": "Create a toxic language detector for Telegram in 4 step"
},
{
"url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
"icon": "store",
"label": "6 e-commerce workflows to power up your Shopify s"
},
{
"url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
"icon": "\ud83d\udd17",
"label": "How to build a low-code, self-hosted URL shortener in 3 steps"
},
{
"url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
"icon": "\u2699\ufe0f",
"label": "Automate your data processing pipeline in 9 steps"
},
{
"url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
"icon": "\ud83d\udc65",
"label": "How to get started with CRM automation (with 3 no-code workflow ideas"
},
{
"url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
"icon": "\u26a1\ufe0f",
"label": "5 tasks you can automate with the new Notion API "
},
{
"url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
"icon": "\ud83d\udca1",
"label": "15 Google apps you can combine and automate to increase productivity"
},
{
"url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
"icon": "\ud83c\udff7\ufe0f",
"label": "How to automatically manage contributions to open-source projects"
},
{
"url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
"icon": " \ud83d\udd78\ufe0f",
"label": "How uProc scraped a multi-page website with a low-code workflow"
},
{
"url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
"icon": "\ud83e\udd16",
"label": "5 workflow automations for Mattermost that we love at n8n"
},
{
"url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
"icon": "\ud83e\udde0",
"label": "Why this Product Manager loves workflow automation with n8n"
},
{
"url": "https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/",
"icon": "\ud83d\ude4c",
"label": "Sending Automated Congratulations with Google Sheets, Twilio, and n8n "
},
{
"url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
"icon": "\ud83c\udfa1",
"label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
},
{
"url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
"icon": "\ud83c\udf96",
"label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
},
{
"url": "https://n8n.io/blog/aws-workflow-automation/",
"label": "7 no-code workflow automations for Amazon Web Services"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Flow"
]
}
}
},
"group": "[\"transform\"]",
"defaults": {
"name": "If",
"color": "#408000"
},
"iconData": {
"icon": "map-signs",
"type": "icon"
},
"displayName": "If",
"typeVersion": 2,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 38,
"icon": "fa:pen",
"name": "n8n-nodes-base.set",
"codex": {
"data": {
"alias": [
"Set",
"JS",
"JSON",
"Filter",
"Transform",
"Map"
],
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/",
"icon": "\ud83c\udfed",
"label": "Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"
},
{
"url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
"icon": "\u2600\ufe0f",
"label": "2021: The Year to Automate the New You with n8n"
},
{
"url": "https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/",
"icon": "\ud83d\udcc8",
"label": "Automatically pulling and visualizing data with n8n"
},
{
"url": "https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/",
"icon": "\ud83d\udce1",
"label": "Database Monitoring and Alerting with n8n"
},
{
"url": "https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/",
"icon": "\ud83e\uddfe",
"label": "Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"
},
{
"url": "https://n8n.io/blog/no-code-ecommerce-workflow-automations/",
"icon": "store",
"label": "6 e-commerce workflows to power up your Shopify s"
},
{
"url": "https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/",
"icon": "\ud83d\udd17",
"label": "How to build a low-code, self-hosted URL shortener in 3 steps"
},
{
"url": "https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/",
"icon": "\u2699\ufe0f",
"label": "Automate your data processing pipeline in 9 steps"
},
{
"url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
"icon": "\ud83d\udc65",
"label": "How to get started with CRM automation (with 3 no-code workflow ideas"
},
{
"url": "https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/",
"icon": "\u26a1\ufe0f",
"label": "5 tasks you can automate with the new Notion API "
},
{
"url": "https://n8n.io/blog/automate-google-apps-for-productivity/",
"icon": "\ud83d\udca1",
"label": "15 Google apps you can combine and automate to increase productivity"
},
{
"url": "https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/",
"icon": " \ud83d\udd78\ufe0f",
"label": "How uProc scraped a multi-page website with a low-code workflow"
},
{
"url": "https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/",
"icon": "\ud83d\udcf1",
"label": "Building an expense tracking app in 10 minutes"
},
{
"url": "https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/",
"icon": "\ud83d\udcf9",
"label": "The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"
},
{
"url": "https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/",
"icon": "\ud83e\udd16",
"label": "5 workflow automations for Mattermost that we love at n8n"
},
{
"url": "https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/",
"icon": "\ud83e\uddf0",
"label": "Learn to Build Powerful API Endpoints Using Webhooks"
},
{
"url": "https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/",
"icon": "\ud83d\udcc8",
"label": "How a Membership Development Manager automates his work and investments"
},
{
"url": "https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/",
"icon": "\ud83d\udcc8",
"label": "A low-code bitcoin ticker built with QuestDB and n8n.io"
},
{
"url": "https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/",
"icon": "\ud83c\udfa1",
"label": "How to set up a no-code CI/CD pipeline with GitHub and TravisCI"
},
{
"url": "https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/",
"icon": "\ud83c\udf96",
"label": "Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"
},
{
"url": "https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/",
"icon": "\ud83d\udef5",
"label": "How Goomer automated their operations with over 200 n8n workflows"
},
{
"url": "https://n8n.io/blog/aws-workflow-automation/",
"label": "7 no-code workflow automations for Amazon Web Services"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Data Transformation"
]
}
}
},
"group": "[\"input\"]",
"defaults": {
"name": "Edit Fields"
},
"iconData": {
"icon": "pen",
"type": "icon"
},
"displayName": "Edit Fields (Set)",
"typeVersion": 3,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 48,
"icon": "fa:file-code",
"name": "n8n-nodes-base.xml",
"codex": {
"data": {
"alias": [
"Parse"
],
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/",
"icon": " \ud83e\udea2",
"label": "What are APIs and how to use them with no code"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.xml/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Data Transformation"
]
}
}
},
"group": "[\"transform\"]",
"defaults": {
"name": "XML",
"color": "#333377"
},
"iconData": {
"icon": "file-code",
"type": "icon"
},
"displayName": "XML",
"typeVersion": 1,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 58,
"icon": "file:googleDrive.svg",
"name": "n8n-nodes-base.googleDrive",
"codex": {
"data": {
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/your-business-doesnt-need-you-to-operate/",
"icon": " \ud83d\udda5\ufe0f",
"label": "Hey founders! Your business doesn't need you to operate"
},
{
"url": "https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/",
"icon": "\ud83e\udde0",
"label": "Why this Product Manager loves workflow automation with n8n"
},
{
"url": "https://n8n.io/blog/aws-workflow-automation/",
"label": "7 no-code workflow automations for Amazon Web Services"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"
}
],
"credentialDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"
}
]
},
"categories": [
"Data & Storage"
],
"nodeVersion": "1.0",
"codexVersion": "1.0"
}
},
"group": "[\"input\"]",
"defaults": {
"name": "Google Drive"
},
"iconData": {
"type": "file",
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"
},
"displayName": "Google Drive",
"typeVersion": 3,
"nodeCategories": [
{
"id": 3,
"name": "Data & Storage"
}
]
},
{
"id": 112,
"icon": "fa:map-signs",
"name": "n8n-nodes-base.switch",
"codex": {
"data": {
"alias": [
"Router",
"If",
"Path",
"Filter",
"Condition",
"Logic",
"Branch",
"Case"
],
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/",
"icon": "\u2600\ufe0f",
"label": "2021: The Year to Automate the New You with n8n"
},
{
"url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
"icon": "\ud83d\udc65",
"label": "How to get started with CRM automation (with 3 no-code workflow ideas"
},
{
"url": "https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/",
"icon": "\ud83d\udc66",
"label": "Build your own virtual assistant with n8n: A step by step guide"
},
{
"url": "https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/",
"icon": "\ud83c\udff7\ufe0f",
"label": "How to automatically manage contributions to open-source projects"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Flow"
]
}
}
},
"group": "[\"transform\"]",
"defaults": {
"name": "Switch",
"color": "#506000"
},
"iconData": {
"icon": "map-signs",
"type": "icon"
},
"displayName": "Switch",
"typeVersion": 3,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 514,
"icon": "fa:pause-circle",
"name": "n8n-nodes-base.wait",
"codex": {
"data": {
"alias": [
"pause",
"sleep",
"delay",
"timeout"
],
"resources": {
"generic": [
{
"url": "https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/",
"icon": "\ud83d\udc65",
"label": "How to get started with CRM automation (with 3 no-code workflow ideas"
},
{
"url": "https://n8n.io/blog/aws-workflow-automation/",
"label": "7 no-code workflow automations for Amazon Web Services"
}
],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Helpers",
"Flow"
]
}
}
},
"group": "[\"organization\"]",
"defaults": {
"name": "Wait",
"color": "#804050"
},
"iconData": {
"icon": "pause-circle",
"type": "icon"
},
"displayName": "Wait",
"typeVersion": 1,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 564,
"icon": "file:markdown.svg",
"name": "n8n-nodes-base.markdown",
"codex": {
"data": {
"resources": {
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.markdown/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Data Transformation"
]
}
}
},
"group": "[\"output\"]",
"defaults": {
"name": "Markdown"
},
"iconData": {
"type": "file",
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM3LjExNjQgMzIuNjE4N0gyLjg4MzU3QzIuNTA0OSAzMi42MTg3IDIuMTI5OTMgMzIuNTQ0MSAxLjc4MDA4IDMyLjM5OTJDMS40MzAyMyAzMi4yNTQzIDEuMTEyMzQgMzIuMDQxOSAwLjg0NDU3OSAzMS43NzQxQzAuNTc2ODE1IDMxLjUwNjQgMC4zNjQ0MTIgMzEuMTg4NSAwLjIxOTQ5OSAzMC44Mzg2QzAuMDc0NTg1OCAzMC40ODg4IDAgMzAuMTEzOCAwIDI5LjczNTFWMTAuODgzNkMwIDEwLjExODggMC4zMDM4MDQgOS4zODUzNSAwLjg0NDU3OSA4Ljg0NDU4QzEuMzg1MzUgOC4zMDM4IDIuMTE4OCA4IDIuODgzNTcgOEgzNy4xMTY0QzM3LjQ5NTEgOCAzNy44NzAxIDguMDc0NTkgMzguMjE5OSA4LjIxOTVDMzguNTY5OCA4LjM2NDQxIDM4Ljg4NzcgOC41NzY4MSAzOS4xNTU0IDguODQ0NThDMzkuNDIzMiA5LjExMjM0IDM5LjYzNTYgOS40MzAyMyAzOS43ODA1IDkuNzgwMDhDMzkuOTI1NCAxMC4xMjk5IDQwIDEwLjUwNDkgNDAgMTAuODgzNlYyOS43MzE4QzQwLjAwMDIgMzAuMTEwNiAzOS45MjU4IDMwLjQ4NTggMzkuNzgxIDMwLjgzNThDMzkuNjM2MiAzMS4xODU5IDM5LjQyMzggMzEuNTAzOSAzOS4xNTYgMzEuNzcxOUMzOC44ODgyIDMyLjAzOTggMzguNTcwMyAzMi4yNTI0IDM4LjIyMDMgMzIuMzk3NEMzNy44NzAzIDMyLjU0MjQgMzcuNDk1MiAzMi42MTg3IDM3LjExNjQgMzIuNjE4N1pNOS42MTQxMyAyNi44NDgyVjE5LjM0NzZMMTMuNDYxMSAyNC4xNTYzTDE3LjMwNjQgMTkuMzQ3NlYyNi44NDgySDIxLjE1MzRWMTMuNzcyMUgxNy4zMDY0TDEzLjQ2MTEgMTguNTgwOUw5LjYxNDEzIDEzLjc3MjFINS43NjcxNVYyNi44NTE2TDkuNjE0MTMgMjYuODQ4MlpNMzUuMzg2MyAyMC4zMDk0SDMxLjUzOTNWMTMuNzcwNUgyNy42OTRWMjAuMzA5NEgyMy44NDdMMjkuNjE1OCAyNy4wNDE2TDM1LjM4NjMgMjAuMzA5NFoiIGZpbGw9IiMzODM4MzkiLz4KPC9zdmc+Cg=="
},
"displayName": "Markdown",
"typeVersion": 1,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 565,
"icon": "fa:sticky-note",
"name": "n8n-nodes-base.stickyNote",
"codex": {
"data": {
"alias": [
"Comments",
"Notes",
"Sticky"
],
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Helpers"
]
}
}
},
"group": "[\"input\"]",
"defaults": {
"name": "Sticky Note",
"color": "#FFD233"
},
"iconData": {
"icon": "sticky-note",
"type": "icon"
},
"displayName": "Sticky Note",
"typeVersion": 1,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 837,
"icon": "fa:sign-out-alt",
"name": "n8n-nodes-base.executeWorkflowTrigger",
"codex": {
"data": {
"resources": {
"generic": [],
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflowtrigger/"
}
]
},
"categories": [
"Core Nodes"
],
"nodeVersion": "1.0",
"codexVersion": "1.0",
"subcategories": {
"Core Nodes": [
"Helpers"
]
}
}
},
"group": "[\"trigger\"]",
"defaults": {
"name": "When Executed by Another Workflow",
"color": "#ff6d5a"
},
"iconData": {
"icon": "sign-out-alt",
"type": "icon"
},
"displayName": "Execute Workflow Trigger",
"typeVersion": 1,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
}
]
},
{
"id": 1205,
"icon": "fa:network-wired",
"name": "@n8n/n8n-nodes-langchain.toolWorkflow",
"codex": {
"data": {
"resources": {
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.toolworkflow/"
}
]
},
"categories": [
"AI",
"Langchain"
],
"subcategories": {
"AI": [
"Tools"
],
"Tools": [
"Recommended Tools"
]
}
}
},
"group": "[\"transform\"]",
"defaults": {
"name": "Call n8n Workflow Tool"
},
"iconData": {
"icon": "network-wired",
"type": "icon"
},
"displayName": "Call n8n Workflow Tool",
"typeVersion": 2,
"nodeCategories": [
{
"id": 25,
"name": "AI"
},
{
"id": 26,
"name": "Langchain"
}
]
},
{
"id": 1293,
"icon": "file:../mcp.svg",
"name": "@n8n/n8n-nodes-langchain.mcpTrigger",
"codex": {
"data": {
"alias": [
"Model Context Protocol",
"MCP Server"
],
"resources": {
"primaryDocumentation": [
{
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-langchain.mcptrigger/"
}
]
},
"categories": [
"AI",
"Core Nodes",
"Langchain"
],
"subcategories": {
"AI": [
"Root Nodes",
"Model Context Protocol"
],
"Core Nodes": [
"Other Trigger Nodes"
]
}
}
},
"group": "[\"trigger\"]",
"defaults": {
"name": "MCP Server Trigger"
},
"iconData": {
"type": "file",
"fileBuffer": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgwIiBoZWlnaHQ9IjE4MCIgdmlld0JveD0iMCAwIDE5NSAxOTUiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cgk8ZyBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMTIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+CgkJPHBhdGggZD0iTTI1IDk3Ljg1MjhMOTIuODgyMyAyOS45NzA2QzEwMi4yNTUgMjAuNTk4IDExNy40NTEgMjAuNTk4IDEyNi44MjMgMjkuOTcwNlYyOS45NzA2QzEzNi4xOTYgMzkuMzQzMSAxMzYuMTk2IDU0LjUzOTEgMTI2LjgyMyA2My45MTE3TDc1LjU1ODEgMTE1LjE3NyIvPgoJCTxwYXRoIGQ9Ik03Ni4yNjUzIDExNC40N0wxMjYuODIzIDYzLjkxMTdDMTM2LjE5NiA1NC41MzkxIDE1MS4zOTIgNTQuNTM5MSAxNjAuNzY1IDYzLjkxMTdMMTYxLjExOCA2NC4yNjUyQzE3MC40OTEgNzMuNjM3OCAxNzAuNDkxIDg4LjgzMzggMTYxLjExOCA5OC4yMDYzTDk5LjcyNDggMTU5LjZDOTYuNjAwNiAxNjIuNzI0IDk2LjYwMDYgMTY3Ljc4OSA5OS43MjQ4IDE3MC45MTNMMTEyLjMzMSAxODMuNTIiLz4KCQk8cGF0aCBkPSJNMTA5Ljg1MyA0Ni45NDExTDU5LjY0ODIgOTcuMTQ1N0M1MC4yNzU3IDEwNi41MTggNTAuMjc1NyAxMjEuNzE0IDU5LjY0ODIgMTMxLjA4N1YxMzEuMDg3QzY5LjAyMDggMTQwLjQ1OSA4NC4yMTY4IDE0MC40NTkgOTMuNTg5NCAxMzEuMDg3TDE0My43OTQgODAuODgyMiIvPgoJPC9nPgo8L3N2Zz4K"
},
"displayName": "MCP Server Trigger",
"typeVersion": 2,
"nodeCategories": [
{
"id": 9,
"name": "Core Nodes"
},
{
"id": 25,
"name": "AI"
},
{
"id": 26,
"name": "Langchain"
}
]
}
]
},
"detail": {
"description": "Quick overview Connect Claude, ChatGPT or any MCP client to wFirma, the Polish invoicing and accounting service. Nine tools cover about 40 API modules: search and edit invoices, contractors, payments and expenses, read the official API docs live and save PDFs to Google Drive, with a guard for irreversible KSeF actions. How it works 1. An MCP Server Trigger with n8n User Auth (OAuth2) exposes 9 tools. Users sign in with their n8n account, and only people allowed to run the workflow can connect. 2. Every tool calls a gateway inside the same workflow ($workflow.id), so you import one file. The Plan node builds the wFirma API URL and checks whether the call needs approval; Route sends it to the API, the approval guard or the docs branch. 3. For API calls, the XML node converts the request into wFirma's XML format, the HTTP Request node sends it, and the answer is parsed back into clean JSON with ok, status, records and pagination. 4. If wFirma rate-limits a read (find/get), the workflow waits 35 seconds and retries once. Writes are never retried automatically. 5. Deleting records, e-mailing invoices, fiscalization and final invoices (sent to KSeF, irreversible) need confirmed=true. Without it the server returns CONFIRMATIONREQUIRED, so the model must ask the user first. Drafts, pro forma invoices and offers go through directly. 6. wfirmadocs fetches the official wFirma Postman collection and returns the module's fields and XML examples as Markdown, so the model uses correct field names before writing. 7. wfirmadownloadpdf saves the invoice or document PDF to your Google Drive folder and returns the link to the file. Setup 1. Create a Custom Auth credential with {\"headers\":{\"accessKey\":\"\u2026\",\"secretKey\":\"\u2026\",\"appKey\":\"\u2026\"}}. Generate accessKey and secretKey in wFirma (Ustawienia \u2192 Bezpiecze\u0144stwo \u2192 Aplikacje \u2192 Klucze API) and request the appKey from wFirma. Select the credential in the wFirma API and Download PDF nodes. 2. In the Config node, set drivefolderid to the Google Drive folder for PDFs. Set companyid only if your login has several companies; you can find it with wfirmafind on module usercompanies. 3. Select your Google Drive credential in the Upload PDF to Drive node. 4. Activate the workflow, copy the MCP URL from the MCP Server Trigger, add it to your MCP client and log in with your n8n account. Requirements - n8n with the MCP Server Trigger v2 or newer - A wFirma account with API keys (accessKey, secretKey) and an appKey from wFirma - A Google Drive credential (only for saving PDFs) - An MCP client that supports OAuth, such as Claude or ChatGPT Customization - Change which operations need confirmation in the needsconfirmation field of the Plan node - Switch the MCP Server Trigger to Bearer auth if your client does not support OAuth - Add shortcut tools by copying a tool node and fixing its module and action - Replace the Google Drive node to store PDFs somewhere else Additional info The official wFirma API docs are in Polish, so wfirmadocs returns Polish field descriptions; tool descriptions and messages are in English Invoice drafts created through the API are not sent to KSeF; only final invoice types are, and those need confirmed=true Keep per-tool approval on in your MCP client for the write tools"
}
}