AutomationFlowsFinance › Integrate Xero with Filemaker Using Webhooks

Integrate Xero with Filemaker Using Webhooks

ByStathis Askaridis @stathisaska on n8n.io

This n8n workflow automates the integration between Xero and FileMaker, allowing for seamless data transfer between the two platforms. By listening for webhooks from Xero (e.g., new invoices, payments, or contacts), this workflow ensures that data is automatically sent and…

Webhook trigger★★★★☆ complexity11 nodesCryptoMove Binary DataFilemaker
Finance Trigger: Webhook Nodes: 11 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #2499 — we link there as the canonical source.

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "nodes": [
    {
      "id": "9bd2c2f7-d837-451e-8a25-a185713edefb",
      "name": "Crypto",
      "type": "n8n-nodes-base.crypto",
      "position": [
        1640,
        660
      ],
      "parameters": {
        "type": "SHA256",
        "value": "={{$json[\"source_data\"]}}",
        "action": "hmac",
        "secret": "1",
        "encoding": "base64",
        "dataPropertyName": "target_data"
      },
      "typeVersion": 1
    },
    {
      "id": "75aca737-5e31-4022-8827-375cf8717a06",
      "name": "Move Binary Data",
      "type": "n8n-nodes-base.moveBinaryData",
      "position": [
        1240,
        660
      ],
      "parameters": {
        "options": {},
        "setAllData": false,
        "destinationKey": "raw_data"
      },
      "typeVersion": 1
    },
    {
      "id": "f1ece5d1-a38f-4548-80b4-a77f07c0cc95",
      "name": "Set",
      "type": "n8n-nodes-base.set",
      "position": [
        1440,
        660
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "source_data",
              "value": "={{$json[\"raw_data\"]}}"
            }
          ]
        },
        "options": {},
        "keepOnlySet": true
      },
      "typeVersion": 1
    },
    {
      "id": "251bd7d1-e955-4b2c-a020-e0b2e3ebb5cc",
      "name": "IF",
      "type": "n8n-nodes-base.if",
      "position": [
        1860,
        660
      ],
      "parameters": {
        "conditions": {
          "boolean": [
            {
              "value1": "={{$node[\"Crypto\"].json[\"target_data\"]}}",
              "value2": "={{$node[\"Xero Webhook\"].json[\"headers\"][\"x-xero-signature\"]}}"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "3a7041d6-e86b-414f-9d26-94c1ffe893cc",
      "name": "Success",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2080,
        540
      ],
      "parameters": {
        "options": {
          "responseCode": 200
        },
        "respondWith": "noData"
      },
      "typeVersion": 1
    },
    {
      "id": "8dfe4916-2fce-4d51-8a41-66cb4e31bdf5",
      "name": "Unauthorised",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        2080,
        740
      ],
      "parameters": {
        "options": {
          "responseCode": 401
        },
        "respondWith": "noData"
      },
      "typeVersion": 1
    },
    {
      "id": "81b08d6b-065c-4e61-87b7-6428963339e2",
      "name": "Create webhook record",
      "type": "n8n-nodes-base.filemaker",
      "position": [
        2320,
        540
      ],
      "parameters": {
        "action": "create",
        "layout": "Webhooks",
        "fieldsParametersUi": {
          "fields": [
            {
              "name": "json",
              "value": "={{$node[\"Set\"].json[\"source_data\"]}}"
            }
          ]
        }
      },
      "credentials": {
        "fileMaker": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "48d977ee-64df-4788-8808-70cd6c7bf5f7",
      "name": "Perform processWebhook script",
      "type": "n8n-nodes-base.filemaker",
      "position": [
        2540,
        540
      ],
      "parameters": {
        "action": "performscript",
        "layout": "Webhooks",
        "script": "processWebhook",
        "scriptParam": "={{ $json.response.recordId }}"
      },
      "credentials": {
        "fileMaker": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "d6f4d1d4-4e69-4279-88e2-ea27036cea20",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2600,
        420
      ],
      "parameters": {
        "content": "## Script Parameter\nPasses the record id as script parameter to be used in your processWebhook script"
      },
      "typeVersion": 1
    },
    {
      "id": "72b3f208-803b-45c5-b38d-eeef4425a2ba",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1620,
        540
      ],
      "parameters": {
        "width": 158.74371859296477,
        "height": 121.3065326633166,
        "content": "## Input\nAdd your Xero webhook secret here"
      },
      "typeVersion": 1
    },
    {
      "id": "54f36def-0ac9-4769-818f-2e8991f196a5",
      "name": "Xero Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1040,
        660
      ],
      "parameters": {
        "path": "4cf50a61-b550-4ee6-984d-ad8c94e2b5c2",
        "options": {
          "rawBody": true
        },
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "IF": {
      "main": [
        [
          {
            "node": "Success",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Unauthorised",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set": {
      "main": [
        [
          {
            "node": "Crypto",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Crypto": {
      "main": [
        [
          {
            "node": "IF",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Success": {
      "main": [
        [
          {
            "node": "Create webhook record",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Xero Webhook": {
      "main": [
        [
          {
            "node": "Move Binary Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Move Binary Data": {
      "main": [
        [
          {
            "node": "Set",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create webhook record": {
      "main": [
        [
          {
            "node": "Perform processWebhook script",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "id": "2499",
  "name": "Integrate Xero with FileMaker using Webhooks"
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This n8n workflow automates the integration between Xero and FileMaker, allowing for seamless data transfer between the two platforms. By listening for webhooks from Xero (e.g., new invoices, payments, or contacts), this workflow ensures that data is automatically sent and…

Source: https://n8n.io/workflows/2499/ — original creator credit. Request a take-down →

More Finance workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Finance

Integrate Xero with FileMaker using Webhooks. Uses crypto, moveBinaryData, filemaker. Webhook trigger; 11 nodes.

Crypto, Move Binary Data, Filemaker
Finance

This workflow automates the process of recording successful payments from Stripe into QuickBooks by creating corresponding Sales Receipts. It ensures payment data is captured accurately, checks whethe

QuickBooks, Stripe
Finance

Environment Health (AcademicChain). Webhook trigger; 5 nodes.

Finance

Auth Mock Service. Webhook trigger; 8 nodes.

Finance

Check Accounts Service. Webhook trigger; 8 nodes.