This workflow corresponds to n8n.io template #6125 — we link there as the canonical source.
This workflow follows the HTTP Request → Slack recipe pattern — see all workflows that pair these two integrations.
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 →
{
"id": "Gb148LV3fQumTIib",
"name": "Sync New CentralStationCRM Contacts to Rapidmail with Slack Approval",
"tags": [],
"nodes": [
{
"id": "2554daa2-472b-4b11-a085-f41099a04c44",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"width": 460,
"height": 600,
"content": "\n# Sync New CentralStationCRM Contacts to Rapidmail with Slack Approval\n\n\nIn this workflow, you write newly created persons in the CRM to a newsletter list. There is also a built-in query via Slack.\n\n* The workflow is triggered daily at 5 pm (customizable)\n* the people created in the CRM on this day are queried\n* the persons are checked for the \u201cNewsletter\u201d tag\n* if the tag is present, the person is written to a Rapidmail list\n* if not, Slack is asked whether the tag should be assigned\n* if yes, the tag is assigned and the person is written to the Rapidmail list\n\n*To edit the nodes: Just double click!*\n\n*At the very end: Set the workflow switch to \u201cActive \u201d*."
},
"typeVersion": 1
},
{
"id": "1656ee49-2fff-4546-b6d7-beae921fb1df",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
500,
0
],
"parameters": {
"color": 7,
"width": 420,
"height": 900,
"content": "## 1. set up CentralStationCRM API Key\n* log in to CentralStationCRM\n* click on the gear wheel in the top right corner\n\n\n\n* click \"Create API key\" on the right-hand side\n* enter \"Description\" (e.g. n8n Test)\n* save\n* save the API key! The key cannot be called up again and is required for step 2."
},
"typeVersion": 1
},
{
"id": "82d0791a-06e9-4290-8761-41843b1baf9c",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1460,
280
],
"parameters": {
"color": 7,
"width": 220,
"height": 620,
"content": "## 3. set up Schedule Trigger\n* set the desired frequency of the check for \u201cTrigger Interval\u201d and \u201cDays between Triggers\u201d\n\n\n\n\n\n\n\n\n\n\n\n"
},
"typeVersion": 1
},
{
"id": "a784ef35-0049-4b45-9bbc-74782f63dce7",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
940,
0
],
"parameters": {
"color": 7,
"width": 440,
"height": 900,
"content": "## 2. set up CentralStationCRM n8n credentials\n\n\n\nImportant:\n* select Header Auth as credential type\n* assign X-apikey as name\n* enter the CentralStationCRM API key under \"Value\""
},
"typeVersion": 1
},
{
"id": "e97f9fc6-aea9-4338-8fff-8808c6da845d",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
640
],
"parameters": {
"width": 460,
"height": 260,
"content": "## Tools in this workflow\n* [CentralStationCRM](https://centralstationcrm.de), the simple and intuitive CRM for small teams. [Here is our API documentation](https://api.centralstationcrm.net/api-docs/index.html).\n* [Slack](https://slack.com/intl/de-de), brings people and information together\n* [Rapidmail](https://rapidmail.de), the simply good newsletter software"
},
"typeVersion": 1
},
{
"id": "7d0a24d7-ec4c-4ef6-bbc9-0ef06e9df75d",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
1740,
280
],
"parameters": {
"color": 7,
"height": 620,
"content": "## 4. set up new people/ day\n\n* select Header Auth created in step 2\n"
},
"typeVersion": 1
},
{
"id": "73f5ec89-44ef-4a66-95ae-db8b7132a5c2",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2240,
280
],
"parameters": {
"color": 7,
"width": 260,
"height": 620,
"content": "## 5. set up Slack\n\n\n* User (By Username): Enter @SlackUsername\n* Customize text under \"Message\" if necessary. Make sure that the JSON code is not changed."
},
"typeVersion": 1
},
{
"id": "d7532ad9-3d99-46d0-92bd-b72954fc52bd",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2720,
280
],
"parameters": {
"color": 7,
"width": 300,
"height": 620,
"content": "## 6. set up \"Newsletter\" tag Node\n\n* Select Header Auth created under 2"
},
"typeVersion": 1
},
{
"id": "6a8f6aae-20e4-42a7-a48c-065786a761f2",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
3080,
-40
],
"parameters": {
"color": 7,
"width": 420,
"height": 940,
"content": "## 7. set up Rapidmail\n* log in to Rapidmail\n* select \"API\" from the menu\n* click \"Create new API access\"\n* enter description and save\n\n* copy user name and key\n\n* double-click the Rapidmail node in the workflow\n* leave the URL to https://apiv3.emailsys.net/v1/recipients\n* create new Basic Auth Credential\n\n* enter user name and key and save\n* switch to the recipient list in Rapidmail\n* copy the list ID (the number after ?recipientlist_id=) from the URL\n* insert list ID in the JSON code in the n8n node, replace the Placeholder ENTER-RAPIDMAIL-LIST-ID"
},
"typeVersion": 1
},
{
"id": "6a448ff0-4471-4518-a65f-77793c113d5e",
"name": "Workflow triggers daily at 5PM",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
1520,
660
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 17
}
]
}
},
"typeVersion": 1.2
},
{
"id": "06c21060-8716-4ad3-8322-a266921d6266",
"name": "Does a person have a \"Newsletter\" tag?",
"type": "n8n-nodes-base.if",
"position": [
2060,
660
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "or",
"conditions": [
{
"id": "4b075c94-c553-4dee-a4f0-d0f501982c53",
"operator": {
"type": "string",
"operation": "contains"
},
"leftValue": "={{ $json.person.tags }}",
"rightValue": "\"Newsletter\""
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "26b86935-fdf9-408e-9bc5-21d90b288f2a",
"name": "Get new people per day from CentralStationCRM",
"type": "n8n-nodes-base.httpRequest",
"position": [
1800,
660
],
"parameters": {
"url": "https://api.centralstationcrm.net/api/people",
"options": {},
"jsonQuery": "={\"filter\" : {\"created_at\": {\"larger_than\": \"{{ new Date().beginningOf('day') }}\"}},\n\"includes\" : \"tags addrs companies emails\"}",
"sendQuery": true,
"sendHeaders": true,
"specifyQuery": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "dfa74ddb-d737-4aaa-85f7-057feae4b7c2",
"name": "ask in Slack: add \"Newsletter\" tag?",
"type": "n8n-nodes-base.slack",
"position": [
2320,
720
],
"parameters": {
"user": {
"__rl": true,
"mode": "username",
"value": "@Christian"
},
"message": "=Hey! \n\nWould you like to add\n\n{{ $('Get new people per day from CentralStationCRM').item.json.person.first_name }} {{ $('Get new people per day from CentralStationCRM').item.json.person.name }}\n\nto your Newsletter?",
"options": {},
"operation": "sendAndWait",
"authentication": "oAuth2",
"approvalOptions": {
"values": {
"approvalType": "double",
"approveLabel": "Ja",
"disapproveLabel": "Nein"
}
}
},
"typeVersion": 2.3
},
{
"id": "b538acb5-0aec-466a-8628-15cd426931e6",
"name": "Did the user click the \"Yes\" button?",
"type": "n8n-nodes-base.if",
"position": [
2560,
720
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "loose"
},
"combinator": "and",
"conditions": [
{
"id": "46a4026a-17ef-4db0-92c5-3e2d9b333565",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.data.approved }}",
"rightValue": "true"
}
]
},
"looseTypeValidation": true
},
"typeVersion": 2.2
},
{
"id": "a7eb00a7-2b13-48cd-af60-4d3261c28c8b",
"name": "end Workflow",
"type": "n8n-nodes-base.noOp",
"position": [
2820,
940
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c8ebeafa-0a8d-483c-b1d2-f961e412487a",
"name": "give person a \"Newsletter\" tag",
"type": "n8n-nodes-base.httpRequest",
"position": [
2820,
760
],
"parameters": {
"url": "=https://api.centralstationcrm.net/api/people/{{ $('Does a person have a \"Newsletter\" tag?').item.json.person.id }}/tags",
"method": "POST",
"options": {
"response": {
"response": {
"responseFormat": "text"
}
}
},
"jsonBody": "{\n \"tag\": {\n \"name\": \"Newsletter\"}\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "=json",
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{}
]
},
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
},
{
"name": "Content-Type",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "1247d9f4-5524-4333-acce-1404fb336966",
"name": "Write person to Rapidmail list",
"type": "n8n-nodes-base.httpRequest",
"position": [
3240,
640
],
"parameters": {
"url": "https://apiv3.emailsys.net/v1/recipients",
"method": "POST",
"options": {},
"jsonBody": "={\n\"status\": \"active\",\n\"recipientlist_id\": ENTER-RAPIDMAIL-LIST-ID,\n\"email\": \"{{ $json.person.emails[0].name }}\",\n\"firstname\": \"{{ $json.person.first_name }}\",\n \"lastname\": \"{{ $json.person.name }}\"\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpBasicAuth",
"headerParameters": {
"parameters": [
{
"name": "Content-Type",
"value": "application/json"
},
{
"name": "Accept",
"value": "application/json"
}
]
}
},
"typeVersion": 4.2
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "9e0ee432-5ede-429f-9b08-3bbee620c6c9",
"connections": {
"Workflow triggers daily at 5AM": {
"main": [
[
{
"node": "Get new people per day from CentralStationCRM",
"type": "main",
"index": 0
}
]
]
},
"give person a \"Newsletter\" tag": {
"main": [
[
{
"node": "Write person to Rapidmail list",
"type": "main",
"index": 0
}
]
]
},
"ask in Slack: add \"Newsletter\" tag?": {
"main": [
[
{
"node": "Did the user click the \"Yes\" button?",
"type": "main",
"index": 0
}
]
]
},
"Did the user click the \"Yes\" button?": {
"main": [
[
{
"node": "give person a \"Newsletter\" tag",
"type": "main",
"index": 0
}
],
[
{
"node": "end Workflow",
"type": "main",
"index": 0
}
]
]
},
"Does a person have a \"Newsletter\" tag?": {
"main": [
[
{
"node": "Write person to Rapidmail list",
"type": "main",
"index": 0
}
],
[
{
"node": "ask in Slack: add \"Newsletter\" tag?",
"type": "main",
"index": 0
}
]
]
},
"Get new people per day from CentralStationCRM": {
"main": [
[
{
"node": "Does a person have a \"Newsletter\" tag?",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow benefits anyone who: wants to automate writing new contacts (with an associated 'Newsletter' tag) in CentralStationCRM to a Rapidmail list CentralStationCRM, the simple and intuitive CRM for small teams. Here is our API documentation if you want to modify the…
Source: https://n8n.io/workflows/6125/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This workflow is an automated employee time tracking and reporting system that monitors weekly work hours via TMetric, then delivers personalized summaries directly to each team member on Slack. It co
Import Productboard Notes Companies And Features Into Snowflake. Uses stickyNote, httpRequest, splitOut, snowflake. Scheduled trigger; 35 nodes.
Import Productboard Notes, Companies and Features into Snowflake. Uses stickyNote, httpRequest, splitOut, snowflake. Scheduled trigger; 35 nodes.
This workflow imports Productboard data into Snowflake, automating data extraction, mapping, and updates for features, companies, and notes. It supports scheduled weekly updates, data cleansing, and S
This workflow streamlines the entire inventory replenishment process by leveraging AI for demand forecasting and intelligent logic for supplier selection. It aggregates data from multiple sources—POS