Skip to content
Documentation

n8n node definition

Declarative node and credential definitions you can use to package an n8n community node for ClickFix.

The easiest way to connect ClickFix in n8n is the HTTP Request node; the endpoints are on Zapier, Make and n8n. To package your own community node, start from the two definitions on this page.

What it contains

  • ClickFix.description.json: a declarative node description compatible with n8n's INodeTypeDescription. It covers creating a conversation, adding an internal note, updating a contact, polling triggers and REST hook subscriptions.
  • ClickFix.credentials.json: a generic credential description that adds the Authorization: Bearer cf_sk_… header.

In your package, load them as the node's description and as the credential's properties / authenticate; you add the TypeScript wrapper, package metadata and icon. The shape follows n8n's official declarative node guide.

Setup notes

  • Set API Base URL to https://api.getclickfix.com (without /v1). https://support.example.com in the definition is only a placeholder.
  • Set API Key to a key created on API and automations → API keys. Scopes needed: triggers:read, webhooks:write, conversations:write, contacts:write.
  • Every write needs an Idempotency-Key header; send the same value when retrying.
  • A REST hook trigger node must store the subscription's uuid and secret, delete the subscription when deactivated, and verify the webhook signature.
  • ClickFix doesn't have an official node published in the n8n marketplace yet.

Definitions

Each tab is one file; copy it with the button in the top-right corner.

{
  "name": "clickFixApi",
  "displayName": "ClickFix API",
  "properties": [
    {
      "displayName": "API Base URL",
      "name": "baseUrl",
      "type": "string",
      "default": "https://support.example.com",
      "required": true
    },
    {
      "displayName": "API Key",
      "name": "apiKey",
      "type": "string",
      "typeOptions": {
        "password": true
      },
      "default": "",
      "required": true
    }
  ],
  "authenticate": {
    "type": "generic",
    "properties": {
      "headers": {
        "Authorization": "={{\"Bearer \" + $credentials.apiKey}}"
      }
    }
  }
}

Next steps