{"_id":"@crystalknows/n8n-nodes-crystal","_rev":"3-adc2798414755ec6465defeae8e577dd","name":"@crystalknows/n8n-nodes-crystal","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.1":{"name":"@crystalknows/n8n-nodes-crystal","version":"0.1.1","keywords":["n8n-community-node-package","n8n","crystal","crystalknows","disc","personality","sales-intelligence","enrichment"],"author":{"name":"Crystal","email":"support@crystalknows.com"},"license":"MIT","_id":"@crystalknows/n8n-nodes-crystal@0.1.1","maintainers":[{"name":"crystal-knows","email":"developers@crystalknows.com"}],"homepage":"https://github.com/crystal-project-inc/n8n-nodes-crystal#readme","bugs":{"url":"https://github.com/crystal-project-inc/n8n-nodes-crystal/issues"},"n8n":{"nodes":["dist/nodes/Crystal/Crystal.node.js"],"strict":true,"credentials":["dist/credentials/CrystalApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"a2f8bf49ef4c3d258deba4bc55594c2e12eddd46","tarball":"https://registry.npmjs.org/@crystalknows/n8n-nodes-crystal/-/n8n-nodes-crystal-0.1.1.tgz","fileCount":30,"integrity":"sha512-k9/8JPLZVo7ifLqdbEefz0+c8oquRiGxd/Te5NLK+kmVQdTHXHX+V4nHCZUcLf59tkNt0IN/oI2WB0NdQsKTXQ==","signatures":[{"sig":"MEUCIQDc7Fskdue0WUvYoqwQ4gM8nr4y/jLcPBUB3CgdDoCT5QIgMQ7LX83HePddBye+WaC73j+UDXb8Ky2kMOt5oTTrygE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56773},"engines":{"node":">=20.15"},"gitHead":"eaf12939e2a56332c6db1e97305169705ab6caa8","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"crystal-knows","email":"developers@crystalknows.com"},"repository":{"url":"git+https://github.com/crystal-project-inc/n8n-nodes-crystal.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node for the Crystal Data API — enrich profiles and get DISC personality insights","directories":{},"_nodeVersion":"24.21.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.32.0","prettier":"3.6.2","release-it":"^20.2.1","typescript":"5.9.2","@n8n/node-cli":"^0.47.2"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-crystal_0.1.1_1789048020739_0.278396409611668","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@crystalknows/n8n-nodes-crystal","version":"0.1.2","keywords":["n8n-community-node-package","n8n","crystal","crystalknows","disc","personality","sales-intelligence","enrichment"],"author":{"name":"Crystal","email":"support@crystalknows.com"},"license":"MIT","_id":"@crystalknows/n8n-nodes-crystal@0.1.2","maintainers":[{"name":"crystal-knows","email":"developers@crystalknows.com"}],"homepage":"https://github.com/crystal-project-inc/n8n-nodes-crystal#readme","bugs":{"url":"https://github.com/crystal-project-inc/n8n-nodes-crystal/issues"},"n8n":{"nodes":["dist/nodes/Crystal/Crystal.node.js"],"strict":true,"credentials":["dist/credentials/CrystalApi.credentials.js"],"n8nNodesApiVersion":1},"dist":{"shasum":"4fa553dbdee25f6a62e6b85e41047484888a7757","tarball":"https://registry.npmjs.org/@crystalknows/n8n-nodes-crystal/-/n8n-nodes-crystal-0.1.2.tgz","fileCount":30,"integrity":"sha512-bG5jt4PBRiw5THusznp2OuSpji9c0il0KvTLRv4e7H9r/cq/0pgvYq1rSc23EQjwpUOuDDLun5h5QnQwPHgcYQ==","signatures":[{"sig":"MEQCIBHSf+tXNp1ko3Lj+6GuPZGESm/bG/lvxY3SydqkLuDoAiAMFjYYTG622HyhMnq1GeHyd9NRlIZ860ir0fFKQ1VT+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@crystalknows%2fn8n-nodes-crystal@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56773},"engines":{"node":">=20.15"},"gitHead":"5bcbb851393e7b53a7fee1ba6289e24274ac9284","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:aa295f83-ae04-4908-9c71-feab9712ba53"}},"repository":{"url":"git+https://github.com/crystal-project-inc/n8n-nodes-crystal.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node for the Crystal Data API — enrich profiles and get DISC personality insights","directories":{},"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.32.0","prettier":"3.6.2","release-it":"^20.2.1","typescript":"5.9.2","@n8n/node-cli":"^0.47.2"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"tmp":"tmp/n8n-nodes-crystal_0.1.2_1789048474116_0.8663268189734903","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"_id":"@crystalknows/n8n-nodes-crystal@0.1.3","n8n":{"nodes":["dist/nodes/Crystal/Crystal.node.js"],"strict":true,"credentials":["dist/credentials/CrystalApi.credentials.js"],"n8nNodesApiVersion":1},"bugs":{"url":"https://github.com/crystal-project-inc/n8n-nodes-crystal/issues"},"dist":{"shasum":"214921c7aa221c6349cade7f45b0286e7f8912ab","tarball":"https://registry.npmjs.org/@crystalknows/n8n-nodes-crystal/-/n8n-nodes-crystal-0.1.3.tgz","fileCount":30,"integrity":"sha512-cpC8b80luERdKcVArVzIkairPLwwsiFotWEMbv9agUAe4qZ5JaWYWuwo3Y3rOr8Dmq/cXDQW4dFOxkAww3MJVA==","signatures":[{"sig":"MEUCIQC0NCH0TokFIE7s0NabOthepTjeYkX+Twa452FnhbDCWQIgf9nLw36A/O7gKR4UnQ2zk54UAQHLAj5N+Bmjy532nyg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBnBsprE9Gvor/4xvNtyJyuJFg9VNhyjqHhk3djLK8snAiEAyXTwV40+J06jdaxUhU+UKpcQnRE+3S3xsfEvihupokI="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@crystalknows%2fn8n-nodes-crystal@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":56764},"name":"@crystalknows/n8n-nodes-crystal","author":{"name":"Crystal","email":"support@crystalknows.com"},"engines":{"node":">=20.15"},"gitHead":"84653957beebd25d36311a9c1287e866440f183b","license":"MIT","scripts":{"dev":"n8n-node dev","lint":"n8n-node lint","build":"n8n-node build","release":"n8n-node release","lint:fix":"n8n-node lint --fix","build:watch":"tsc --watch","prepublishOnly":"n8n-node prerelease"},"version":"0.1.3","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:aa295f83-ae04-4908-9c71-feab9712ba53"}},"homepage":"https://github.com/crystal-project-inc/n8n-nodes-crystal#readme","keywords":["n8n-community-node-package","n8n","crystal","crystalknows","disc","personality","sales-intelligence","enrichment"],"repository":{"url":"git+https://github.com/crystal-project-inc/n8n-nodes-crystal.git","type":"git"},"_npmVersion":"11.19.0","description":"n8n community node for the Crystal Data API — enrich profiles and get DISC personality insights","directories":{},"maintainers":[{"name":"crystal-knows","email":"developers@crystalknows.com"}],"_nodeVersion":"24.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.32.0","prettier":"3.6.2","release-it":"^20.2.1","typescript":"5.9.2","@n8n/node-cli":"^0.47.2"},"peerDependencies":{"n8n-workflow":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/n8n-nodes-crystal_0.1.3_1790006946827_0.6436416367682647"}}},"time":{"created":"2026-09-10T13:47:00.521Z","modified":"2026-09-21T16:09:07.323Z","0.1.1":"2026-09-10T13:47:00.886Z","0.1.2":"2026-09-10T13:54:34.246Z","0.1.3":"2026-09-21T16:09:06.911Z"},"bugs":{"url":"https://github.com/crystal-project-inc/n8n-nodes-crystal/issues"},"author":{"name":"Crystal","email":"support@crystalknows.com"},"license":"MIT","homepage":"https://github.com/crystal-project-inc/n8n-nodes-crystal#readme","keywords":["n8n-community-node-package","n8n","crystal","crystalknows","disc","personality","sales-intelligence","enrichment"],"repository":{"url":"git+https://github.com/crystal-project-inc/n8n-nodes-crystal.git","type":"git"},"description":"n8n community node for the Crystal Data API — enrich profiles and get DISC personality insights","maintainers":[{"name":"crystal-knows","email":"developers@crystalknows.com"}],"readme":"# @crystalknows/n8n-nodes-crystal\n\nThis is an n8n community node. It lets you use the [Crystal](https://www.crystalknows.com/) Data API in your n8n workflows.\n\nCrystal predicts anyone's DISC personality type and turns it into practical guidance — how to email them, sell to them, run a meeting with them — from a name, email, or LinkedIn URL.\n\n[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/sustainable-use-license/) workflow automation platform.\n\n[Installation](#installation)\n[Operations](#operations)\n[Credentials](#credentials)\n[Compatibility](#compatibility)\n[Usage](#usage)\n[Resources](#resources)\n[Version history](#version-history)\n\n## Installation\n\nFollow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.\n\nIn n8n: **Settings → Community Nodes → Install**, then enter `@crystalknows/n8n-nodes-crystal`.\n\n## Operations\n\n### Profile\n\n| Operation | Description | Cost |\n| --- | --- | --- |\n| **Get** | Real-time lookup of a profile Crystal already knows. Does not create new profiles — returns nothing if the person is not already known; use a Prediction for that. | 1 credit on a hit; re-fetches of the same profile are free |\n\nIdentify the person with any combination of full name, email, LinkedIn URL, job title, company name, or phone.\n\n### Prediction\n\n| Operation | Description | Cost |\n| --- | --- | --- |\n| **Create** | Submit an async lookup and return immediately with a job ID. | 1 credit only if the job completes with a profile found |\n| **Get** | Poll for the result of a submitted job by job ID. | — |\n| **Create and Wait** | Submit a lookup, then poll until the job finishes (or the timeout is hit) and return the final result. | 1 credit only if a profile is found |\n\n`Create` and `Create and Wait` accept an optional **Record ID** — a client-supplied idempotency key. Resubmitting the same Record ID will not double-charge.\n\n### Content\n\nAll content operations take a Crystal profile ID (from a Profile or Prediction step) unless noted.\n\n| Operation | Description | Cost |\n| --- | --- | --- |\n| **Get Personality Content** | Full personality content for a profile. | Free |\n| **Get Selling-To Playbook** | A \"selling to this person\" playbook. | Free |\n| **Get Communication Advice** | Communication advice for each of one or more profiles. | Free |\n| **Get Relationship Matrix** | A relationship matrix across several profiles. | Free |\n| **Generate Prompt** | A ready-to-inject, DISC-tuned prompt you paste into your own AI workflow. Identify the recipient by profile ID or a raw DISC type (e.g. `D`, `Di`, `Sc`). | Free — deterministic, no model call |\n| **Revise Email** | Rewrite a draft email so it lands well with the recipient, adapting tone, structure, and directness to their DISC type. | 1 credit per successful revision (not deduplicated) |\n\n## Credentials\n\nYou need a Crystal Data API key.\n\n1. Sign up at [crystalknows.com](https://www.crystalknows.com/) and verify your email.\n2. Generate a key at [data.crystalknows.com/api-keys](https://data.crystalknows.com/api-keys).\n3. In n8n, create a new **Crystal API** credential and paste the key.\n\nThe key is sent as a bearer token (`Authorization: Bearer <key>`). Treat it like a password — anyone with it can call the API as you. The credential test calls `POST /v4/content/generate_prompt`, which is free and spends no credit.\n\nAPI credits are a single pool per organization. See the [API reference](https://data.crystalknows.com/llms-full.txt) for exactly when a credit is spent.\n\n## Compatibility\n\n- Requires n8n 1.60.0 or later (for `usableAsTool` support).\n- Tested against n8n 1.7x and Node.js 20 / 22.\n\n## Usage\n\n- **Enrich a lead the moment it arrives.** Trigger on a new CRM contact → **Prediction: Create and Wait** with their email → branch on `result.state` (`found` / `not_found`).\n- **Draft on-brand outreach.** **Content: Generate Prompt** with the profile ID and an objective, then feed the returned `prompt` into an AI Agent / LLM node — or use **Content: Revise Email** to have Crystal rewrite an existing draft directly.\n- **As an AI Agent tool.** Attach this node to an AI Agent; the agent can look up a person and pull communication advice on its own.\n\n`Prediction: Create and Wait` blocks the workflow while it polls (default: every 5s, up to 300s). Jobs usually finish within a minute or two but can take longer when Crystal's queue is busy. For large batches, prefer **Create** + a later **Get** (e.g. via a Wait node), or raise the timeout.\n\n## Security\n\nThe published package has **no runtime dependencies** — `npm audit --omit=dev` reports 0 vulnerabilities. `n8n-workflow` is a peer dependency supplied by the n8n host.\n\nA full `npm audit` reports advisories inside `@n8n/node-cli` and `release-it` (the build/lint/release toolchain, `devDependencies` only — never installed by users of this node). They cannot be resolved without breaking the release tooling or downgrading `@n8n/node-cli` below the version n8n requires for verification (n8n community packages may not use an `overrides` field), so they are tracked for upstream.\n\n## Resources\n\n* [n8n community nodes documentation](https://docs.n8n.io/integrations/#community-nodes)\n* [Crystal Data API reference](https://data.crystalknows.com/llms-full.txt)\n* [Crystal API (Swagger)](https://api.crystalknows.com/v4/swagger)\n\n## Version history\n\nSee [CHANGELOG.md](./CHANGELOG.md).\n","readmeFilename":"README.md"}