AutomationFlowsSlack & Telegram › Track Partnerstack Affiliate Events with Google Sheets & Telegram Notifications

Track Partnerstack Affiliate Events with Google Sheets & Telegram Notifications

ByAitor | 1Node @aitoralonso on n8n.io

This n8n workflow captures Partnerstack events via a webhook, logs the event data into a Google Sheet, and sends a Telegram notification. Webhook Node (Trigger): Listens for incoming POST requests. When an event occurs in Partnerstack (e.g., a new referral signs up), the…

Webhook trigger★★☆☆☆ complexity6 nodesGoogle SheetsTelegram
Slack & Telegram Trigger: Webhook Nodes: 6 Complexity: ★★☆☆☆ Added:

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

This workflow follows the Google Sheets → Telegram 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 →

Download .json
{
  "id": "lFocIkQMljDaZxLO",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "Partnerstack notifications",
  "tags": [],
  "nodes": [
    {
      "id": "dfb1df25-fe32-490c-82bc-237d0a888797",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        0,
        0
      ],
      "parameters": {
        "path": "32a160b4-df74-447a-ab12-c98abe411862",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "19c189b6-c7ed-402f-9b93-1f1a35259888",
      "name": "Append Row in Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        220,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "date": "={{ new Date($json.body.data.created_at).toISOString().split('T')[0] }}",
            "tool": "={{ $json.body.data.company.name }}",
            "email": "={{ $json.body.data.customer_email }}",
            "eventName": "={{ $json.body.event }}",
            "customerName": "={{ $json.body.data.customer_name }}"
          },
          "schema": [
            {
              "id": "date",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "eventName",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "eventName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "tool",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "tool",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "customerName",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "customerName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HOI6sdJ4mzclXy1gE5X1nhoxpjXfnVDhj2ka60SP28g/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1HOI6sdJ4mzclXy1gE5X1nhoxpjXfnVDhj2ka60SP28g",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1HOI6sdJ4mzclXy1gE5X1nhoxpjXfnVDhj2ka60SP28g/edit?usp=drivesdk",
          "cachedResultName": "Partnerstack affiliate activity"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "c58f295c-3827-4515-8c71-809e07ef0e15",
      "name": "Send Notification",
      "type": "n8n-nodes-base.telegram",
      "position": [
        660,
        0
      ],
      "parameters": {
        "text": "=New Partnerstack event\n\nEvent: {{ $('Webhook').item.json.body.event }}\nTool: {{ $('Webhook').item.json.body.data.company.name }}\nCustomer: {{ $('Webhook').item.json.body.data.customer_name }}\nEmail: {{ $('Webhook').item.json.body.data.customer_email }}",
        "chatId": "={{ $json.chatId }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "1326d545-200e-47fd-a586-5c4377384db9",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -380,
        -80
      ],
      "parameters": {
        "width": 320,
        "height": 280,
        "content": "## Set up instructions \n- Go into Partnerstack > My account >  Postbacks > Create a postback\n- Paste your n8n webhook URL\n- Give it a name and select the events you want to track\n- Create the postback inside Patnerstack \n- Make sure your n8n workflow is listening for an event to grab the data received from a test event.\n- Send a test event from Partnerstack to n8n\n"
      },
      "typeVersion": 1
    },
    {
      "id": "8f167af4-93ea-405e-ba40-bb69df62d04e",
      "name": "Set Chat Id",
      "type": "n8n-nodes-base.set",
      "position": [
        440,
        0
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9e585adf-f859-4743-81d1-c2a926562418",
              "name": "chatId",
              "type": "string",
              "value": "setyourTelgramChatIdHere"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "aab27664-d925-49ad-93ed-20adbc0c8b69",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        -180
      ],
      "parameters": {
        "width": 220,
        "height": 340,
        "content": "## Set chat ID \nInsert your Telegram chat id to get notified in a private channel with your team members"
      },
      "typeVersion": 1
    }
  ],
  "active": true,
  "settings": {
    "timezone": "Europe/Madrid",
    "callerPolicy": "workflowsFromSameOwner",
    "errorWorkflow": "qFOYM3IA9QZ7fMym",
    "executionOrder": "v1"
  },
  "versionId": "9d05edb1-dd83-4263-afdd-15f336c20cd4",
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Append Row in Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set Chat Id": {
      "main": [
        [
          {
            "node": "Send Notification",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Append Row in Sheets": {
      "main": [
        [
          {
            "node": "Set Chat Id",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

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 captures Partnerstack events via a webhook, logs the event data into a Google Sheet, and sends a Telegram notification. Webhook Node (Trigger): Listens for incoming POST requests. When an event occurs in Partnerstack (e.g., a new referral signs up), the…

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

More Slack & Telegram workflows → · Browse all categories →

Related workflows

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

Slack & Telegram

새론금융 SNS 자동화 리드관리. Uses googleSheets, emailSend, telegram. Webhook trigger; 4 nodes.

Google Sheets, Email Send, Telegram
Slack & Telegram

Telegram Task Manager - Part 1. Uses googleSheets, telegram. Webhook trigger; 30 nodes.

Google Sheets, Telegram
Slack & Telegram

01_order_processing_tilda. Uses stickyNote, googleSheets, httpRequest, telegram. Webhook trigger; 25 nodes.

Google Sheets, HTTP Request, Telegram
Slack & Telegram

WF3 — Compat Analytics (Receive + Weekly Report). Uses googleSheets, httpRequest, telegram. Webhook trigger; 9 nodes.

Google Sheets, HTTP Request, Telegram
Slack & Telegram

Stickynote Workflow. Uses stickyNote, noOp, telegramTrigger, googleSheets. Event-driven trigger; 11 nodes.

Telegram Trigger, Google Sheets, Telegram +1