{"_id":"@checkilo/n8n-nodes-checkilo","_rev":"3-48955458ee8367b4e121f02d66edb75c","name":"@checkilo/n8n-nodes-checkilo","dist-tags":{"latest":"0.2.2"},"versions":{"0.2.0":{"name":"@checkilo/n8n-nodes-checkilo","version":"0.2.0","keywords":["n8n-community-node-package","n8n","checkilo","monitoring","workflow","heartbeat"],"author":{"name":"Coke3a","email":"kotori373510@gmail.com"},"license":"MIT","_id":"@checkilo/n8n-nodes-checkilo@0.2.0","maintainers":[{"name":"coke3a","email":"wongsakon.hon@gmail.com"}],"homepage":"https://checkilo.com","bugs":{"url":"https://github.com/Coke3a/checkilo-n8n-node/issues"},"n8n":{"nodes":["dist/nodes/Checkilo/Checkilo.node.js"],"strict":true,"credentials":["dist/credentials/CheckiloApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"200e5f0095693266e91099e201099ce6b8c62290","tarball":"https://registry.npmjs.org/@checkilo/n8n-nodes-checkilo/-/n8n-nodes-checkilo-0.2.0.tgz","fileCount":24,"integrity":"sha512-8Mg2MMbM37Hm3figp0YRgYTfdcZZarHQ0CMmH4pDh2K7KLcWus0++mkYiDAkYDy1hC/jEl9cKW0Ky7RqVL47SQ==","signatures":[{"sig":"MEUCIA8L/EmeVn5bLqe+0k8kKIUZQKFAsJKvHjvQHKQpUMvzAiEAm5e9kOdkpHbDx1YNLRi8Vb5TLHcwT32lTHeONsEMZxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@checkilo%2fn8n-nodes-checkilo@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64157},"gitHead":"8ea033c008c682a5f878a4848270d45d365ca698","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"vitest run","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","test:watch":"vitest","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"coke3a","email":"wongsakon.hon@gmail.com"},"repository":{"url":"git+https://github.com/Coke3a/checkilo-n8n-node.git","type":"git"},"_npmVersion":"11.13.0","description":"n8n community node for sending Checkilo event and workflow pings.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.32.0","vitest":"^4.1.8","prettier":"3.6.2","release-it":"^20.2.0","typescript":"5.9.2","@n8n/node-cli":"^0.30.1"},"peerDependencies":{"n8n-workflow":"^2.16.0"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-checkilo_0.2.0_1780669034310_0.3245705528982723","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@checkilo/n8n-nodes-checkilo","version":"0.2.1","keywords":["n8n-community-node-package","n8n","checkilo","monitoring","workflow","heartbeat"],"author":{"name":"Coke3a","email":"kotori373510@gmail.com"},"license":"MIT","_id":"@checkilo/n8n-nodes-checkilo@0.2.1","maintainers":[{"name":"coke3a","email":"wongsakon.hon@gmail.com"}],"homepage":"https://checkilo.com","bugs":{"url":"https://github.com/Coke3a/checkilo-n8n-node/issues"},"n8n":{"nodes":["dist/nodes/Checkilo/Checkilo.node.js"],"strict":true,"credentials":["dist/credentials/CheckiloApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"31aece53406a2ad1cd8a42df5a1834433e1c0737","tarball":"https://registry.npmjs.org/@checkilo/n8n-nodes-checkilo/-/n8n-nodes-checkilo-0.2.1.tgz","fileCount":24,"integrity":"sha512-IaQPHniNkV5Z1lx96pUMo3Iyjr5td9Oc0qmzPGEiT7D2XDSPlynnwcPTVccbrICsTtFVLYyVihxEO8BjRnHGUQ==","signatures":[{"sig":"MEUCIQCOxoPnjKkXYvLJdBkiy4E3RLUqieRZgYl56IMFIK6t9gIgZWfP4aCKQbsJB9Zc389QnBCmxkCQWf3/wsMeoGMeYvw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@checkilo%2fn8n-nodes-checkilo@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":64145},"gitHead":"6ece25cc97fc7b187c6e3791572876a26d744af4","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","test":"vitest run","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","test:watch":"vitest","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"coke3a","email":"wongsakon.hon@gmail.com"},"repository":{"url":"git+https://github.com/Coke3a/checkilo-n8n-node.git","type":"git"},"_npmVersion":"11.13.0","description":"n8n community node for sending Checkilo event and workflow pings.","directories":{},"_nodeVersion":"24.16.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.32.0","vitest":"^4.1.8","prettier":"3.6.2","release-it":"^20.2.0","typescript":"5.9.2","@n8n/node-cli":"^0.30.1"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-checkilo_0.2.1_1780764573560_0.4186802707695141","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@checkilo/n8n-nodes-checkilo","version":"0.2.2","description":"n8n community node for sending Checkilo event and workflow pings.","license":"MIT","homepage":"https://checkilo.app","keywords":["n8n-community-node-package","n8n","checkilo","monitoring","workflow","heartbeat"],"author":{"name":"Coke3a","email":"kotori373510@gmail.com"},"scripts":{"build":"n8n-node build","dev":"n8n-node dev","lint":"n8n-node lint","lint:fix":"n8n-node lint --fix","release":"n8n-node release","test":"vitest run","test:watch":"vitest","prepublishOnly":"n8n-node prerelease"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Coke3a/checkilo-n8n-node.git"},"n8n":{"n8nNodesApiVersion":1,"strict":true,"credentials":["dist/credentials/CheckiloApi.credentials.js"],"nodes":["dist/nodes/Checkilo/Checkilo.node.js"]},"devDependencies":{"@n8n/node-cli":"^0.30.1","eslint":"9.32.0","prettier":"3.6.2","release-it":"^20.2.0","typescript":"5.9.2","vitest":"^4.1.8"},"peerDependencies":{"n8n-workflow":"*"},"gitHead":"a5f1fc7044f3ab87c05da5de48900fa3defe0f88","_id":"@checkilo/n8n-nodes-checkilo@0.2.2","bugs":{"url":"https://github.com/Coke3a/checkilo-n8n-node/issues"},"_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-qfTYSMSdzirU+nSACjzWTlLYZLFnZsxndTJFYo2V/9RQFilkEvXMsT7flbKd6FGsipSLBR85ihcSTHoEeWijdQ==","shasum":"1a7fcedb3a80f3b598b948e6df5a23fc3793661f","tarball":"https://registry.npmjs.org/@checkilo/n8n-nodes-checkilo/-/n8n-nodes-checkilo-0.2.2.tgz","fileCount":24,"unpackedSize":64448,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@checkilo%2fn8n-nodes-checkilo@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHC/IESlmyPPs70KYxJUrlcvriZCDbznndp43YeFEy7OAiASjeCO93MWL3h/5hnD9qwxyKRWJgJdEmJoZgoo8T82HQ=="}]},"_npmUser":{"name":"coke3a","email":"wongsakon.hon@gmail.com"},"directories":{},"maintainers":[{"name":"coke3a","email":"wongsakon.hon@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-checkilo_0.2.2_1784021824345_0.28390374354014614"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-05T14:17:14.104Z","modified":"2026-07-14T09:37:04.783Z","0.2.0":"2026-06-05T14:17:14.445Z","0.2.1":"2026-06-06T16:49:33.705Z","0.2.2":"2026-07-14T09:37:04.468Z"},"bugs":{"url":"https://github.com/Coke3a/checkilo-n8n-node/issues"},"author":{"name":"Coke3a","email":"kotori373510@gmail.com"},"license":"MIT","homepage":"https://checkilo.app","keywords":["n8n-community-node-package","n8n","checkilo","monitoring","workflow","heartbeat"],"repository":{"type":"git","url":"git+https://github.com/Coke3a/checkilo-n8n-node.git"},"description":"n8n community node for sending Checkilo event and workflow pings.","maintainers":[{"name":"coke3a","email":"wongsakon.hon@gmail.com"}],"readme":"# @checkilo/n8n-nodes-checkilo\n\n`@checkilo/n8n-nodes-checkilo` is an n8n community node package for sending Checkilo pings from inside n8n workflows.\n\n> [Checkilo](https://checkilo.app) is heartbeat and checkpoint monitoring for business-critical automations — it alerts you when an n8n workflow stops running or silently stops working. Learn more and start free (5 automations, no card) at **[checkilo.app](https://checkilo.app)**.\n\nIt provides one node, `Checkilo`, with two operations:\n\n- `Event Ping` — a single heartbeat marked Success or Failure\n- `Workflow Ping` — a multi-step run: Start → Checkpoint → Finish (Success/Failure)\n\nThe node uses Checkilo API keys and loads available automations from the real Checkilo API. Every ping carries a Checkilo `run` correlation id derived automatically from the n8n execution ID — workflow steps (start → checkpoint → finish) share one value, and event pings include it so a ping can be traced back to its n8n execution.\n\n> **Node versions:** newly added nodes default to **v2** (the UX described here). Existing workflows pinned to **v1** keep their original behavior — see [Node Versions](#node-versions).\n\n## What It Does\n\nUse the `Checkilo` node when you want to:\n\n- send a simple event-style heartbeat ping from a workflow\n- track workflow lifecycle steps: start, checkpoint, and finish (success or failure)\n- send a failure ping from an n8n Error Trigger workflow using the original failed execution ID when n8n provides it\n\nThe node returns the live Checkilo ping response and adds a few non-secret helper fields such as the derived `run_id`, selected `target_url`, selected `target_name` when available, the operation, and the workflow event.\n\n## Installation\n\nFollow the official n8n community node installation guide:\n\n- [Install community nodes](https://docs.n8n.io/integrations/community-nodes/installation/)\n\nFor self-hosted n8n, install this package as:\n\n```bash\nnpm install @checkilo/n8n-nodes-checkilo\n```\n\nThis package expects a Checkilo backend that exposes:\n\n- `GET /n8n/auth/test`\n- `GET /n8n/automations`\n\nThose routes were added in this repository as compatibility aliases over the existing authenticated integration endpoints.\n\n## Credentials\n\nCreate a `Checkilo API` credential in n8n with:\n\n- `API Key`\n\nDetails:\n\n- Auth header: `Authorization: Bearer <api_key>`\n- The Checkilo ping host is fixed to `https://ping.checkilo.app` (not a credential field)\n\nCredential testing uses:\n\n- `GET https://ping.checkilo.app/n8n/auth/test`\n\n## Operations\n\n### Event Ping\n\n`Event Ping` sends one self-contained `POST` to the selected Checkilo ping URL:\n\n- `Result` = `Success` → `/success`, or `Failure` → `/fail`\n- optional key/value metadata, sent as a JSON request body\n- `run=<execution id>` so the ping can be traced back to its n8n execution (the backend still treats each event ping as its own one-shot run and never joins other pings to it)\n\nUse this for simple heartbeat-style tracking when you only need one ping.\n\n### Workflow Ping\n\n`Workflow Ping` sends a `POST` to the selected Checkilo ping URL based on the chosen `Event`:\n\n- `Start` → `/start`\n- `Checkpoint` → `/checkpoint` (with `label=<checkpoint name>`)\n- `Finish` + `Result` = `Success` → `/success`, or `Failure` → `/fail`\n\nAll workflow pings include `run=<execution id>`, derived automatically from the current n8n execution so every step of one run shares the same value (there is no user-entered Run ID field). For failure pings sent from an Error Trigger workflow, the node reuses the original failed execution ID when n8n provides it. Optional key/value metadata is sent as the JSON request body.\n\n## Example Workflow Patterns\n\n### Simple Event Heartbeat\n\n1. Add `Checkilo`\n2. Choose `Event Ping`\n3. Pick the Checkilo automation from the dropdown\n4. Optionally add JSON metadata\n\n### Workflow Lifecycle Tracking\n\nUse multiple `Checkilo` nodes in the same workflow:\n\n1. `Workflow Ping` with `Start` near the beginning\n2. `Workflow Ping` with `Checkpoint` at important milestones\n3. `Workflow Ping` with `Finish` → `Success` at the end\n\nBecause the node derives the Checkilo `run` value from the n8n execution ID, Checkilo correlates those pings into one workflow run.\n\n### Error Trigger Failure Tracking\n\nUse n8n’s Error Trigger workflow pattern to report failures:\n\n1. Create an Error Trigger workflow\n2. Add the `Checkilo` node after the trigger\n3. Choose `Workflow Ping`\n4. Choose `Finish` → `Failure`\n5. Select the same Checkilo automation\n\nWhen the incoming item includes the original failed `execution.id`, the node uses that original execution ID as the Checkilo `run` value so the failure ping attaches to the same Checkilo workflow run.\n\n## Local Development\n\nFrom this package directory:\n\n```bash\nnpm install\nnpm run dev\nnpm run lint\nnpm test\nnpm run build\n```\n\n## n8n References Used\n\n- [Creating nodes](https://docs.n8n.io/integrations/creating-nodes/)\n- [Build a node](https://docs.n8n.io/integrations/creating-nodes/build/n8n-node/)\n- [Choose node method](https://docs.n8n.io/integrations/creating-nodes/plan/choose-node-method/)\n- [Community node installation](https://docs.n8n.io/integrations/community-nodes/installation/)\n- [Submit community nodes](https://docs.n8n.io/integrations/creating-nodes/deploy/submit-community-nodes/)\n\n## Node Versions\n\n- **v2 (default):** `Event Ping` has a `Result` (Success/Failure); `Workflow Ping` uses `Start` / `Checkpoint` / `Finish` (Finish adds a `Result`); metadata is a key/value collection; the `run` correlation id is always derived automatically from the n8n execution ID (no user-entered Run ID field).\n- **v1:** original behavior — `Workflow Ping` events `Started` / `Checkpoint` / `Succeeded` / `Failed`, a `Checkpoint Label` field, and a JSON `Metadata` field. Existing workflows keep v1 automatically; only newly added nodes use v2.\n\nBoth versions call the same Checkilo API, so v1 workflows keep working unchanged.\n\n## Current Status\n\nImplemented:\n\n- Checkilo API credential with secret API key handling\n- credential test against `/n8n/auth/test`\n- dynamic automation dropdown backed by `/n8n/automations`\n- `Event Ping` (Success/Failure) and `Workflow Ping` (Start/Checkpoint/Finish)\n- key/value metadata body\n- automatic execution ID → Checkilo `run` on every ping (event and workflow); no user-entered Run ID\n- Error Trigger-friendly failure ping behavior (reuses the original execution ID)\n- full versioning: v1 preserved, v2 default\n","readmeFilename":"README.md"}