viaMCP服务器gestionKlickTipp中de联系人

Avancé

Ceci est unCRM, AI Chatbotworkflow d'automatisation du domainecontenant 31 nœuds.Utilise principalement des nœuds comme ToolCode, KlicktippTool, McpTrigger. KlickTipp中deAI驱动联系人gestion,viaMCP服务器

Prérequis
  • Aucun prérequis spécial, prêt à l'emploi après importation

Catégorie

Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "id": "j1FtJoAyaYNpmJzT",
  "meta": {
    "instanceId": "95b3ab5a70ab1c8c1906357a367f1b236ef12a1409406fd992f60255f0f95f85",
    "templateCredsSetupCompleted": true
  },
  "name": "Manage contacts in KlickTipp via MCP server",
  "tags": [
    {
      "id": "15wrq9sti6wyqr6J",
      "name": "TEMPLATE",
      "createdAt": "2025-01-08T16:34:30.163Z",
      "updatedAt": "2025-01-08T16:34:30.163Z"
    }
  ],
  "nodes": [
    {
      "id": "f77dc3f1-296f-407f-998c-d0c962462c99",
      "name": "MCP Server Trigger",
      "type": "@n8n/n8n-nodes-langchain.mcpTrigger",
      "position": [
        -560,
        -260
      ],
      "webhookId": "efd64e04-db77-499d-832b-f17e99bd9ef4",
      "parameters": {
        "path": "klicktipp-mcp"
      },
      "typeVersion": 1
    },
    {
      "id": "341d39bc-7e6c-487d-9272-1d5820c054b1",
      "name": "Note adhésive4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2340,
        -280
      ],
      "parameters": {
        "width": 580,
        "height": 1680,
        "content": "### How It Works\n\n**AI-Driven Contact Management with MCP and KlickTipp Integration:**\nThis workflow connects an MCP Server with the KlickTipp contact management platform and integrates it with an LLM (e.g. Claude etc.) to enable intelligent querying and segmentation of contact data. It covers all major KlickTipp API endpoints, providing a comprehensive toolkit for automated contact handling and campaign targeting.\n\n### Key Features\n**MCP Server Trigger:**\n- Initiates the workflow via the MCP server, listening for incoming requests related to contact queries or segmentation actions.\n\n\n**LLM Interaction Setup:**\n- Interacts with an OpenAI or Claude model to handle natural language queries such as contact lookups, tagging, and segmentation tasks.\n\n\n**KlickTipp Integration:**\nComplete set of KlickTipp API endpoints included:\n  - **Contact Management:** Add, update, get, list, delete, and unsubscribe contacts.\n  - **Contact Tagging:** Tag, untag, list tagged contacts.\n  - **Tag Operations:** Create, get, update, delete, list tags.\n  - **Opt-In Processes:** List and retrieve opt-in process details.\n  - **Data Fields:** List and get custom data fields.\n  - **Redirects:** Retrieve redirect URLs.\n\n\n**Use Cases Supported:**\n- Query contact information via email or name.\n- Identify and segment contacts by city, region, or behavior.\n- Create or update contacts from the provided data.\n- Dynamically apply or remove tags to initiate campaigns.\n- Automate targeted outreach based on contact attributes.\n\n\n### Setup Instructions\n**Install and Configure Nodes:**\n- Set up MCP Server.\n- Configure the LLM connection (e.g., Claude Desktop configuration).\n- Add and authenticate all KlickTipp nodes using valid API credentials.\n\n\n**Define Tagging and Field Mapping:**\n- Identify which fields and tags are relevant to your use cases.\n- Ensure necessary tags and custom fields are already created in KlickTipp.\n\n\n**Workflow Logic:**\n1. **Trigger via MCP Server:** A prompt or webhook call activates the server listener.\n2. **Query Handling via LLM Agent:** AI interprets the natural language input and determines the action.\n3. **Contact Search & Segmentation:** Searches contacts using identifiers (email, address) or criteria.\n4. **Data Operations:** Retrieves, updates, or manages contact and tag data based on interpreted command.\n5. **Campaign Preparation:** Applies tags or sends campaign triggers depending on query results.\n\n\n**Benefits:**\n- **AI-Powered Automation:** Reduces manual contact search and tagging efforts through intelligent processing.\n- **Scalable Integration:** Built-in support for full range of KlickTipp operations allows diverse use-case handling.\n- **Data Consistency:** Ensures structured data flows between MCP, AI, and KlickTipp, minimizing errors.\n\n\n**Testing and Deployment:**\nUse defined prompts such as:\n- “Tell me something about the contact with email address X”\n- “Tag all contacts from region Y”\n- “Send campaign Z to customers in area A”\nValidate expected actions in KlickTipp after prompt execution.\n\n\n**Notes:**\n- **Customization:** Adjust tag logic, AI prompts, and contact field mappings based on project needs.\n- **Extensibility:** The template can be expanded with further logic for Google Sheets input or campaign feedback loops"
      },
      "typeVersion": 1
    },
    {
      "id": "5bf83c00-cfb6-442e-8a5f-adda11bcb3a6",
      "name": "Note adhésive1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -700,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 640,
        "height": 420,
        "content": "## Contact Management"
      },
      "typeVersion": 1
    },
    {
      "id": "d29e652f-41f8-4470-8279-1fd93dc8d251",
      "name": "Note adhésive9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1720,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 240,
        "content": "## Opt-in Processes\n"
      },
      "typeVersion": 1
    },
    {
      "id": "19fc7ac8-b04b-4a64-84b3-fc725097ac7f",
      "name": "Note adhésive10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        220,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 620,
        "height": 220,
        "content": "## Tag Operations\n"
      },
      "typeVersion": 1
    },
    {
      "id": "126266e7-aa4b-429c-8af6-6c01c5fbe047",
      "name": "Note adhésive11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1380,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 240,
        "content": "## Data Fields\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c7a6da61-07a5-4cb2-ac01-569976db2d5b",
      "name": "Note adhésive12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1040,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 300,
        "height": 240,
        "content": "## Contact Tagging\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6585112d-c646-4374-94f4-221bb797a915",
      "name": "Note adhésive13",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -20,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 200,
        "height": 220,
        "content": "## Redirects\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2bdb8896-4f51-4f70-a0b9-6592272aa201",
      "name": "Timestamp to date",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "onError": "continueRegularOutput",
      "position": [
        920,
        100
      ],
      "parameters": {
        "jsCode": "const raw = query;\nconst secs = Number(raw);\nconst isTimestamp = Number.isFinite(secs) && /^[+-]?\\d{8,13}$/.test(String(raw));\n\nif (!isTimestamp) {\n  return '';\n}\n\nconst ms = secs * 1000;\n\nconst formatted = DateTime\n  .fromMillis(ms, { zone: 'UTC' })\n  .setZone('Europe/Berlin')\n  .toFormat('dd.MM.yyyy HH:mm:ss ZZZ');\n\nreturn String(formatted);",
        "description": "Call this tool to convert an incoming Unix‐seconds timestamp to a UTC date string."
      },
      "typeVersion": 1.2,
      "alwaysOutputData": false
    },
    {
      "id": "a184f160-951a-4b64-8dc0-41a143b6b2b4",
      "name": "Note adhésive5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        20
      ],
      "parameters": {
        "color": 7,
        "width": 360,
        "height": 220,
        "content": "## Additional Tools"
      },
      "typeVersion": 1
    },
    {
      "id": "d67f04aa-5821-4ab0-b68f-e33eac33338f",
      "name": "Date to timestamp",
      "type": "@n8n/n8n-nodes-langchain.toolCode",
      "position": [
        1100,
        100
      ],
      "parameters": {
        "jsCode": "const raw = query || 'N/A';\n\nconst formats = [\n  'd.LL.yyyy HH:mm:ss',\n  'd.LL.yyyy',           \n  'd LLLL yyyy HH:mm:ss',\n  'd LLLL yyyy',  \n  'd LLL yyyy',\n  'yyyy-MM-dd',\n  'LLLL d, yyyy',\n  'd-M-yyyy',\n];\n\nlet dt = null;\nfor (const fmt of formats) {\n  dt = DateTime.fromFormat(raw, fmt, {\n    zone  : 'Europe/Berlin',\n    locale: 'en',\n  });\n  if (dt.isValid) break;\n}\n\nif (!dt?.isValid) {\n  dt = DateTime.fromISO(raw, { zone: 'Europe/Berlin' });\n}\n\nif (!dt?.isValid) {\n  dt = DateTime.fromSQL?.(raw, { zone: 'Europe/Berlin' });\n}\n\nif (!dt?.isValid) {\n  return 'N/A';\n}\n\nconst timestamp = Math.floor(dt.toUTC().toSeconds());\n\nreturn timestamp;",
        "description": "Call this tool to converts a human-readable date string (e.g. 05.05.2025 01:00:00) into a Unix timestamp in seconds.\nPass the date through the parameter `query` as a string."
      },
      "typeVersion": 1.2,
      "alwaysOutputData": true
    },
    {
      "id": "bc2ddd85-5df9-412e-ba4f-cefea205bde5",
      "name": "Get Contact ID",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -180,
        100
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "resource": "subscriber",
        "operation": "search",
        "descriptionType": "manual",
        "toolDescription": "Returns the contact ID for an email address."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "a16c8d05-433e-4459-a0a9-3c4453f2c86a",
      "name": "Get Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -340,
        100
      ],
      "parameters": {
        "resource": "subscriber",
        "operation": "get",
        "subscriberId": "={{ $fromAI(\"contactId\", \"The contact's ID\", \"string\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Returns the complete data of a contact by ID."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "65dcfb83-65c7-48d6-8f8f-3a8be88c00ea",
      "name": "Add or Update Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -500,
        100
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "tagId": "={{ $fromAI(\"tagId\", \"The tag ID.\", \"number\", \"\") }}",
        "fields": {
          "dataFields": [
            {
              "fieldId": "fieldFirstName",
              "fieldValue": "={{ $fromAI(\"fieldFirstName\", \"Contact’s first name.\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldLastName",
              "fieldValue": "={{ $fromAI(\"fieldLastName\", \"Contact’s last name.\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldCompanyName",
              "fieldValue": "={{ $fromAI(\"fieldCompany\", \"Contact’s company name.\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldStreet1",
              "fieldValue": "={{ $fromAI(\"fieldAddress1\", \"Contact’s primary street address\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldStreet2",
              "fieldValue": "={{ $fromAI(\"fieldAddress2\", \"Contact’s secondary street address\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldCity",
              "fieldValue": "={{ $fromAI(\"fieldCity\", \"Contact’s city\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldState",
              "fieldValue": "={{ $fromAI(\"fieldState\", \"Contact’s state or region\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldZip",
              "fieldValue": "={{ $fromAI(\"fieldZip\", \"Contact’s ZIP or postal code\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldCountry",
              "fieldValue": "={{ $fromAI(\"fieldCountry\", \"Contact’s country\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldMobilePhone",
              "fieldValue": "={{ $fromAI(\"fieldMobilePhone\", \"Contact’s mobile phone in international format starting with '00' (e.g., 00491631737743)\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldPrivatePhone",
              "fieldValue": "={{ $fromAI(\"fieldPrivatePhone\", \"Contact’s private phone in international format starting with '00' (e.g., 00491631737743)\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldFax",
              "fieldValue": "={{ $fromAI(\"fieldFax\", \"Contact’s fax number in international format starting with '00' (e.g., 0049301234567)\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldBirthday",
              "fieldValue": "={{ $fromAI(\n     \"fieldBirthday\",\n     \"Unix seconds for the contact’s birthday — supply **only** when the user explicitly asks to set a birthday (keywords: birthday / birth date / set birthday). Otherwise leave undefined.\",\n     \"number\",\n     undefined\n) ?? undefined }}"
            },
            {
              "fieldId": "fieldLeadValue",
              "fieldValue": "={{ $fromAI(\"fieldLeadValue\", \"Estimated lead value as a number\", \"number\", \"\") }}"
            },
            {
              "fieldId": "fieldWebsite",
              "fieldValue": "={{ $fromAI(\"fieldWebsite\", \"Contact’s website URL\", \"string\", \"\") }}"
            }
          ]
        },
        "listId": "={{ $fromAI(\"optInId\", \"The opt-in process ID.\", \"number\", \"\") }}",
        "resource": "subscriber",
        "operation": "subscribe",
        "smsNumber": "={{ $fromAI(\"smsNumber\", \"The contact's SMS number.\", \"string\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Adds a new contact. If a contact with the same email already exists, it will be updated."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "d1d2384f-d798-41e7-9af1-01b2fe787b94",
      "name": "List Contacts",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -660,
        100
      ],
      "parameters": {
        "resource": "subscriber",
        "descriptionType": "manual",
        "toolDescription": "Fetch contact IDs"
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "0a1a32e3-88c9-4a37-82b9-0d52f9284119",
      "name": "Update Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -660,
        280
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "fields": {
          "dataFields": [
            {
              "fieldId": "fieldFirstName",
              "fieldValue": "={{ $fromAI(\"fieldFirstName\", \"Contact’s first name.\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldLastName",
              "fieldValue": "={{ $fromAI(\"fieldLastName\", \"Contact’s last name.\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldCompanyName",
              "fieldValue": "={{ $fromAI(\"fieldCompany\", \"Contact’s company name.\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldStreet1",
              "fieldValue": "={{ $fromAI(\"fieldAddress1\", \"Contact’s primary street address\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldStreet2",
              "fieldValue": "={{ $fromAI(\"fieldAddress2\", \"Contact’s secondary street address\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldCity",
              "fieldValue": "={{ $fromAI(\"fieldCity\", \"Contact’s city\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldState",
              "fieldValue": "={{ $fromAI(\"fieldState\", \"Contact’s state or region\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldZip",
              "fieldValue": "={{ $fromAI(\"fieldZip\", \"Contact’s ZIP or postal code\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldCountry",
              "fieldValue": "={{ $fromAI(\"fieldCountry\", \"Contact’s country\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldPrivatePhone",
              "fieldValue": "={{ $fromAI(\"fieldPrivatePhone\", \"Contact’s private phone in international format starting with '00' (e.g., 00491631737743)\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldMobilePhone",
              "fieldValue": "={{ $fromAI(\"fieldMobilePhone\", \"Contact’s mobile phone in international format starting with '00' (e.g., 00491631737743)\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldFax",
              "fieldValue": "={{ $fromAI(\"fieldFax\", \"Contact’s fax number in international format starting with '00' (e.g., 0049301234567)\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldWebsite",
              "fieldValue": "={{ $fromAI(\"fieldWebsite\", \"Contact’s website URL\", \"string\", \"\") }}"
            },
            {
              "fieldId": "fieldBirthday",
              "fieldValue": "={{ $fromAI(\"fieldBirthday\", \"Contact’s birthday as Unix seconds.\", \"number\", \"\") }}"
            },
            {
              "fieldId": "fieldLeadValue",
              "fieldValue": "={{ $fromAI(\"fieldLeadValue\", \"Estimated lead value as a number\", \"number\", \"\") }}"
            }
          ]
        },
        "resource": "subscriber",
        "operation": "update",
        "smsNumber": "={{ $fromAI(\"smsNumber\", \"The contact's SMS number.\", \"string\", \"\") }}",
        "subscriberId": "={{ $fromAI(\"contactId\", \"The contact's ID.\", \"number\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Updates a contact by contact ID."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5bbf6355-3037-4d59-b893-f6de4e3e4527",
      "name": "Delete Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -500,
        280
      ],
      "parameters": {
        "resource": "subscriber",
        "operation": "delete",
        "subscriberId": "={{ $fromAI(\"contactId\", \"The contact's ID.\", \"string\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Deletes a contact."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "49313a57-acc9-4244-b273-ffbf86c9b625",
      "name": "Unsubscribe Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -340,
        280
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "resource": "subscriber",
        "operation": "unsubscribe",
        "descriptionType": "manual",
        "toolDescription": "Unsubscribes a contact, preventing further communication."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "f23efcff-e9a1-4e28-9005-4d3e2d217ca9",
      "name": "List Tagged Contacts",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -180,
        280
      ],
      "parameters": {
        "tagId": "={{ $fromAI(\"tagId\", \"The tag ID.\", \"number\", \"\") }}",
        "resource": "subscriber",
        "operation": "tagged",
        "descriptionType": "manual",
        "toolDescription": "Lists the IDs and tagging timestamps of all tagged contacts."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3b4d7467-faf8-4c9a-a80d-23154008544b",
      "name": "Tag Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -860,
        100
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "tagId": "={{ \n  JSON.parse(\n    $fromAI(\n      \"tagIds\",\n      \"Return ONLY a JSON array of numeric tag IDs. \"\n      + \"Absolutely nothing else — no markdown, no back-ticks. \"\n      + \"Example: [12042204,12054769]\",\n      \"string\"\n    )\n  )\n  .map(Number)\n}}\n",
        "resource": "contact-tagging",
        "descriptionType": "manual",
        "toolDescription": "Adds one or more tags to a contact.\nYou can pass a single tag or a list of tags to apply multiple tags in one call."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "906017de-8a73-4e2d-892c-79792e3e4f26",
      "name": "Untag Contact",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -1000,
        100
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "tagId": "={{ $fromAI(\"tagId\", \"The tag ID.\", \"number\", \"\") }}",
        "resource": "contact-tagging",
        "operation": "untag",
        "descriptionType": "manual",
        "toolDescription": "Removes a tag from a contact."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "b45bfda8-7a10-4456-bd16-cf7254eec398",
      "name": "Get Data Field",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -1200,
        100
      ],
      "parameters": {
        "resource": "field",
        "operation": "get",
        "apiFieldId": "={{ $fromAI(\"fieldId\", \"The data field ID.\", \"string\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Gets the ID and the name of a data field."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "1c33eb1b-f0e7-4e76-ba2e-925737a80196",
      "name": "List Data Fields",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -1340,
        100
      ],
      "parameters": {
        "resource": "field",
        "descriptionType": "manual",
        "toolDescription": "Lists the IDs and names of all data fields."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "53627bbf-b097-4e58-b1cc-1013c1f00481",
      "name": "List Opt-in Processes",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -1700,
        100
      ],
      "parameters": {
        "resource": "opt-in",
        "descriptionType": "manual",
        "toolDescription": "Lists the IDs and names of all opt-in processes."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "e7de706e-00c8-4b63-a703-8fbe30a03303",
      "name": "Get Opt-in Process",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        -1560,
        100
      ],
      "parameters": {
        "listId": "={{ $fromAI(\"optInId\", \"The opt-in process ID.\", \"number\", \"\") }}",
        "resource": "opt-in",
        "operation": "get",
        "descriptionType": "manual",
        "toolDescription": "Returns the complete data of an opt-in process by ID."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "ee7e4a59-fc33-4315-80e0-b30b914e9749",
      "name": "Get Redirect URL",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        40,
        100
      ],
      "parameters": {
        "email": "={{ $fromAI(\"email\", \"The contact's email address.\", \"string\", \"\") }}",
        "listId": "={{ $fromAI(\"optInId\", \"The opt-in process ID.\", \"number\", \"\") }}",
        "resource": "opt-in",
        "operation": "getRedirect",
        "descriptionType": "manual",
        "toolDescription": "Gets the redirection URL for a specific opt-in process."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5741d612-c22b-4395-8ab1-f037f4d17381",
      "name": "List Tags",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        260,
        100
      ],
      "parameters": {
        "descriptionType": "manual",
        "toolDescription": "Lists the IDs and names of all tags."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "2f8e5766-d62a-4252-ac5b-41a6c2bf7dc4",
      "name": "Create Tag",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        380,
        100
      ],
      "parameters": {
        "name": "={{ $fromAI(\"tagName\", \"The tag name\", \"string\", \"\") }}",
        "operation": "create",
        "description": "={{ $fromAI(\"tagDescription\", \"The tag description\", \"string\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Creates a new manual tag."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "7597bdf8-033b-40ac-8a3f-3729bbf94d92",
      "name": "Get Tag",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        500,
        100
      ],
      "parameters": {
        "tagId": "={{ $fromAI(\"tagId\", \"The tag ID\", \"number\", \"\") }}",
        "operation": "get",
        "descriptionType": "manual",
        "toolDescription": "Returns the name and description of a tag."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "4e50743f-af39-4f28-9125-0df08802dc10",
      "name": "Delete Tag",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        620,
        100
      ],
      "parameters": {
        "tagId": "={{ $fromAI(\"tagId\", \"The tag ID\", \"number\", \"\") }}",
        "operation": "delete",
        "descriptionType": "manual",
        "toolDescription": "Deletes a tag."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "054c7fcb-efff-4ce0-ac95-70514385c6f0",
      "name": "Update Tag",
      "type": "n8n-nodes-klicktipp.klicktippTool",
      "position": [
        740,
        100
      ],
      "parameters": {
        "name": "={{ $fromAI(\"tagName\", \"The tag name\", \"string\", \"\") }}",
        "tagId": "={{ $fromAI(\"tagId\", \"The tag ID\", \"number\", \"\") }}",
        "operation": "update",
        "description": "={{ $fromAI(\"tagDescription\", \"The tag description\", \"string\", \"\") }}",
        "descriptionType": "manual",
        "toolDescription": "Updates a tag."
      },
      "credentials": {
        "klickTippApi": {
          "id": "NTht3frPxvENgu0k",
          "name": "Mykhaylo's KlickTipp"
        }
      },
      "typeVersion": 2
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6b23235b-34c2-4d5b-a73c-297929347484",
  "connections": {
    "7597bdf8-033b-40ac-8a3f-3729bbf94d92": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "5741d612-c22b-4395-8ab1-f037f4d17381": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "2f8e5766-d62a-4252-ac5b-41a6c2bf7dc4": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "4e50743f-af39-4f28-9125-0df08802dc10": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "054c7fcb-efff-4ce0-ac95-70514385c6f0": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "a16c8d05-433e-4459-a0a9-3c4453f2c86a": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "3b4d7467-faf8-4c9a-a80d-23154008544b": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "d1d2384f-d798-41e7-9af1-01b2fe787b94": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "906017de-8a73-4e2d-892c-79792e3e4f26": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "5bbf6355-3037-4d59-b893-f6de4e3e4527": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "bc2ddd85-5df9-412e-ba4f-cefea205bde5": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "b45bfda8-7a10-4456-bd16-cf7254eec398": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "0a1a32e3-88c9-4a37-82b9-0d52f9284119": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "ee7e4a59-fc33-4315-80e0-b30b914e9749": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "1c33eb1b-f0e7-4e76-ba2e-925737a80196": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "d67f04aa-5821-4ab0-b68f-e33eac33338f": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "2bdb8896-4f51-4f70-a0b9-6592272aa201": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "e7de706e-00c8-4b63-a703-8fbe30a03303": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "49313a57-acc9-4244-b273-ffbf86c9b625": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "f23efcff-e9a1-4e28-9005-4d3e2d217ca9": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "65dcfb83-65c7-48d6-8f8f-3a8be88c00ea": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "53627bbf-b097-4e58-b1cc-1013c1f00481": {
      "ai_tool": [
        [
          {
            "node": "f77dc3f1-296f-407f-998c-d0c962462c99",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Avancé - CRM, Chatbot IA

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Avancé
Nombre de nœuds31
Catégorie2
Types de nœuds4
Description de la difficulté

Adapté aux utilisateurs avancés, avec des workflows complexes contenant 16+ nœuds

Auteur
KlickTipp

KlickTipp

@KlickTipp

Reach more people. 100% GDPR compliant. Quickly create automated email campaigns, SMS and marketing automations. Market your knowledge independently of Google & Co., sell lucrative products and activate your customers.

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34