AutomationFlowsWeb Scraping › CentralStationCRM to EchtPost: Auto Send Postcards

CentralStationCRM to EchtPost: Auto Send Postcards

Original n8n title: Send Postcards to Contacts Automatically Using Centralstationcrm and Echtpost

Send Postcards to Contacts Automatically using CentralStationCRM and EchtPost. Uses httpRequest. Webhook trigger; 12 nodes.

Webhook trigger★★★☆☆ complexity12 nodesHTTP Request
Web Scraping Trigger: Webhook Nodes: 12 Complexity: ★★★☆☆ Added:

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
{
  "_templateId": 6124,
  "_templateName": "Send Postcards to Contacts Automatically using CentralStationCRM and EchtPost",
  "_templateDescription": "Workflow Overview\nThis workflow benefits anyone, who:\nwants to automate sending Postcards to tagged CentralStationCRM contacts\n\nTools in this Workflow \nCentralStationCRM - the simple and intuitive CRM Software for small teams.\nEchtPost - send postcards online\n\nWorkflow Screenshot\n\nWorkflow Description\nThis workflow consists of:\na webhook trigger\na set node\nan if node\nan HTTP request\n\nThe Webhook Trigger\nThe webhook triggers when a person is updated in CentralStationCRM. \n\nThe persons data is sent to n8n, including the company name and the address. \n\nThe Set node\nThis node filters the webhook data for just the data the EchtPost node needs. It also transforms the country field to the associated country code (i.e. \"Deutschland\" -> \"DE\")\n\nThe if node\nThis node checks if there is an \"EchtPost\" tag in the persons data.\n-> if false: do nothing\n-> if true: go to HTTP request\n\nThe HTTP Request\nThis node sends the persons name, address and country code alongside with the id of the EchtPost template (inserted manually in the node) to EchtPost. It also needs an E-Mail-Adress for a confirmation mail.\n\nThe data starts a \"Mail in 3 days\" process with the EchtPost service, which mails a postcard with that template to the person.\n\nPreconditions \nFor this workflow, you need:\na CentralStationCRM account with API access\nan EchtPost account with API access\nan EchtPost template, with a message, and the templates ID",
  "_templateCreatedAt": "2025-07-18T08:40:33.899Z",
  "_templateTotalViews": 4,
  "_templateCategory": [],
  "_fetchedAt": "2026-03-29T05:04:44.819Z",
  "id": "KKQJKkfiLQQ48JSW",
  "name": "Send Postcards to Contacts Automatically using CentralStationCRM and EchtPost",
  "tags": [],
  "nodes": [
    {
      "id": "f22c8bec-268f-46d5-844d-61870dfcf208",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        -140
      ],
      "parameters": {
        "width": 400,
        "height": 920,
        "content": "![CSCRM Logo](https://s3.42he.com/cscrm-marketing-page-production/Logo_Central_Station_CRM_0dd02e23d2.jpeg)\n\n# Send Postcards to Contacts Automatically using CentralStationCRM and EchtPost\n\nIn this workflow, you send a **postcard** to a person newly created in CentralStationCRM.\n\n* the workflow is triggered when a person is updated in the CRM\n* the blue set node filters the data required for EchtPost\n* the green if node checks whether the word \u201cEchtPost\u201d appears in the tags\n* if yes, a card is sent via the EchtPost API\n\n\n\n\n\n\n*To edit the nodes in steps 2 and 5: Simply double-click!*\n\n*At the very end: Set the workflow switch to Active!*\n\n*Don't forget to save your work!*"
      },
      "typeVersion": 1
    },
    {
      "id": "b59e4c49-c129-42bb-a64c-7a282d8e69d6",
      "name": "Sticky Note5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 440,
        "height": 680,
        "content": "## 3. get EchtPost API key\n* Log in to EchtPost\n* Click on the cogwheel at the top right\n![API EchtPost](https://s3.42he.com/cscrm-marketing-page-production/Echt_Post_API_Schluessel_24d1c6be44.png)\n* Click on \"Create API key\n* Enter description (e.g. \"n8n\")\n* Copy API key\n\n## 4. get EchtPost template ID\n![EchtPost Navbar](https://s3.42he.com/cscrm-marketing-page-production/Echt_Post_Vorlagen_1592063ee7.png)\n* Click on the desired template\n* Copy the number after ?template_id= in the URL"
      },
      "typeVersion": 1
    },
    {
      "id": "06574510-ef2e-4b29-9bce-33cca25c6f5c",
      "name": "Sticky Note7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2080,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 500,
        "height": 840,
        "content": "## 5. Configure EchtPost API Node\n* Double-click node\n* METHOD: POST\n* https://api.echtpost.de/v1/cards\n* Authentication: none\n* SEND BODY: True\n* Body Content Type: JSON\n* Specify Body: Using JSON\n\nJSON Code (Important: Switch to \"Expression\"!)\n* Replace key, template ID and mail with your own values\n\n\n{\n \"apikey\": \"ENTER HERE-API-KEY\",\n \"card\": {\n \"template_id\": \"HERE-TEMPLATE-ID\",\n \"deliver_at\": \"3-days-from-now\", \"\n \" \"notification_type\": \"before_send\",\n \"notification_email\": \"YOUR EMAIL\",\n \"contacts_attributes\": [\n {\n \"company_name\": \"{{ $json.body.record.companies[0].name }}\",\n \"street\": \"{{ $json.body.record.addrs[0].street }}\",\n \"zip\": \"{{ $json.body.record.addrs[0].zip }}\", \"\n city\": \"{{ $json.body.record.addrs[0].city }}\", \"\n country_code\": \"{{ $json.body.record.addrs[0].country_code }}\"\n      }\n    ]\n  }\n}\n\n\n\n\n\n\n\n\n\n\n\n\n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d97824f2-b8fa-4097-8a68-1d116fbd76b1",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        -20
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 960,
        "content": "## 2. set up CentralStationCRM Webhook\n* log in to CentralStationCRM\n* click on the gear wheel at the top right\n\n![Account settings](https://s3.42he.com/cscrm-marketing-page-production/CSCRM_Settings_edb73dede7.jpg)\n![Webhook](https://s3.42he.com/cscrm-marketing-page-production/CSCRM_Settings_Webhook_0b20350753.jpg)\n* click \"Create webhook\"\n* enter password\n* \"Monitored object type\": Person\n* \"Monitored event\": Update\n* for \"Endpoint URL\" enter webhook URL\n* enter the following for \"Nested objects\":\ntags, addrs, companies\n* enter name and description (e.g. n8n Test)\n* set status to active and save"
      },
      "typeVersion": 1
    },
    {
      "id": "5ad18049-d75e-4f30-a4bb-0767c0f24c8a",
      "name": "Sticky Note2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1220,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 340,
        "height": 1080,
        "content": "## 2. Set up n8n webhook trigger\n* double-click node\n* HTTP Method: POST\n* Authentication: none\n\n### For testing: \nTag a person in CentralStationCRM with \"EchtPost\" and click on \"Listen for Test Event\" on the node shortly beforehand. The webhook should be triggered and the data transferred to the node.\n\n### For operation:\n* Switch from \"Test URL\" to \"Production URL\"\n* Copy new webhook URL (click on it)\n* Enter new URL under \"Endpoint URL\" in the CentralStationCRM webhook created in step 2"
      },
      "typeVersion": 1
    },
    {
      "id": "d62b9617-88a2-4512-bfca-47fe2e924be3",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        820
      ],
      "parameters": {
        "width": 400,
        "height": 120,
        "content": "### Tools in this workflow\n* [CentralStationCRM](https://centralstationcrm.de) - the simple and intuitive CRM for small teams.\n* [EchtPost](https://echtpost.de) - send postcards online"
      },
      "typeVersion": 1
    },
    {
      "id": "34c8516a-1201-4e95-9789-8ff2e33b56b6",
      "name": "Sticky Note4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        760,
        -140
      ],
      "parameters": {
        "color": 7,
        "width": 420,
        "height": 100,
        "content": "## 1. get webhook URL from n8n\n* Double-click the first node in the workflow\n* Click once on the url next to POST"
      },
      "typeVersion": 1
    },
    {
      "id": "c76bf839-75d8-4224-9ed6-f5c21d33ba2d",
      "name": "Person is updated in CentralStationCRM",
      "type": "n8n-nodes-base.webhook",
      "position": [
        1320,
        640
      ],
      "parameters": {
        "path": "aa45aef4-1eff-46b8-9b72-4240a40b2f6c",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "41c8b450-e3db-481d-ba09-2dc266e4afdb",
      "name": "Set fields needed for EchtPost",
      "type": "n8n-nodes-base.set",
      "position": [
        1640,
        640
      ],
      "parameters": {
        "include": "selected",
        "options": {},
        "includeFields": "body.record.companies[0].name, body.record.addrs[0].street, body.record.addrs[0].zip, body.record.addrs[0].city, body.record.addrs[0].country_code, body.record.taggings",
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "f7516740-bad6-4070-be78-d354a7d92581",
      "name": "Is \"EchtPost\" included in \"taggings\"?",
      "type": "n8n-nodes-base.if",
      "position": [
        1860,
        640
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "loose"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "877d4a0a-805a-4884-ae82-cc63978b02ba",
              "operator": {
                "type": "string",
                "operation": "contains"
              },
              "leftValue": "={{ $json.taggings }}",
              "rightValue": "\"EchtPost\""
            }
          ]
        },
        "looseTypeValidation": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "7f7d46d7-3d20-4f1b-8f3f-cdc5dd072dc5",
      "name": "Do nothing",
      "type": "n8n-nodes-base.noOp",
      "position": [
        2260,
        780
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "e6f0d1ca-c04b-4e07-bea5-046ac92d1010",
      "name": "Send postcard with EchtPost",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2260,
        520
      ],
      "parameters": {
        "url": "https://api.echtpost.de/v1/cards",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"apikey\": \"HIER-API-KEY-EINTRAGEN\",\n  \"card\": {\n    \"template_id\": \"HIER-TEMPLATE-ID\",\n    \"deliver_at\": \"3-days-from-now\",\n    \"notification_type\": \"before_send\",\n    \"notification_email\": \"EMAIL EINTRAGEN\",\n    \"contacts_attributes\": [\n      {\n        \"company_name\": \"{{ $json.name }}\",\n        \"street\": \"{{ $json.street }}\",\n        \"zip\": \"{{ $json.zip }}\",\n        \"city\": \"{{ $json.city }}\",\n        \"country_code\": \"{{ $json.country_code }}\"\n      }\n    ]\n  }\n}",
        "sendBody": true,
        "specifyBody": "json"
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "152242be-1fe6-4528-999d-993fb0593528",
  "connections": {
    "Set fields needed for EchtPost": {
      "main": [
        [
          {
            "node": "Is \"EchtPost\" included in \"taggings\"?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Is \"EchtPost\" included in \"taggings\"?": {
      "main": [
        [
          {
            "node": "Send postcard with EchtPost",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Do nothing",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Person is updated in CentralStationCRM": {
      "main": [
        [
          {
            "node": "Set fields needed for EchtPost",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

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

About this workflow

Send Postcards to Contacts Automatically using CentralStationCRM and EchtPost. Uses httpRequest. Webhook trigger; 12 nodes.

Source: https://github.com/djeknet/n8n-master-workflows/blob/1c4f12d01b446cbee928c81cfa7901ade7bbdb09/Lead_Nurturing/Send_Postcards_to_Contacts_Automatically_using_CentralStationCRM_and_EchtPost.json — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

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

Web Scraping

Community Node Disclaimer: This workflow uses KlickTipp community nodes.

Crypto, Custom, N8N Nodes Klicktipp +1
Web Scraping

Automatically sync Fizzy cards to Basecamp todos in real-time. When cards are created, assigned, completed, or reopened in Fizzy, the changes sync instantly to your Basecamp project. Card tags determi

HTTP Request, N8N Nodes Basecamp
Web Scraping

This workflow automates accounts payable: upload a PDF invoice, let Claude AI extract the key fields, and automatically create a vendor bill (incoming invoice) in Odoo 18.

HTTP Request
Web Scraping

This n8n workflow automates airline customer support by classifying travel-related questions, fetching relevant information, generating AI answers, and delivering structured responses to users. It ens

HTTP Request
Web Scraping

This n8n template lets you automatically pull market data for the cryptocurrencies from CoinGecko every hour, calculate custom volatility and market-health metrics, classify each coin’s price action i

HTTP Request