Skip to main content
The Gleap Admin SDK for Node.js lets your backend push authoritative customer data into Gleap: identify contacts, manage companies, manage CRM pipeline entries, track customer value (MRR) and send server-side events.

Installation

Usage

Import the GleapAdmin package.

Initialize the SDK

It is required to initialize the GleapAdmin SDK before sending events or other requests.
The secret API token can be found within your project settings -> Secret API token. Keep it in an environment variable; it must never ship to client apps.

Identify a user

The userId should match the userId you are using to identify your users. All key-value pairs in the user properties part are optional. Only company.id is required inside the optional company object; company.name never overwrites a name set via updateCompany.

Companies

Set authoritative company attributes (plan, value, SLA, address, custom data) from your backend. These are shown in the dashboard, used for company-level SLAs and revenue-based prioritization, and are never overwritten by data sent from your client apps.

Pipelines (CRM)

Manage CRM pipeline entries from your backend: put a company or contact on a pipeline, move it through stages, set field values, or remove it — for example to mirror your signup or billing lifecycle onto an onboarding pipeline. Entries are addressed by your own identifiers: the companyId you pass to updateCompany for company pipelines, or the userId you pass to identify for contact pipelines. Pipeline, stage and field ids come from getPipelines:
Adding a record and moving it to a new stage run the pipeline’s automations, exactly like the same action in the dashboard. Unknown stage ids and unknown field keys are rejected with a 400 naming the valid ids.

Track MRR (customer value)

Gleap uses the value field as a customer’s MRR: monthly recurring revenue, in your billing currency, in major units (for example 499 or 49.9, not cents). Kai PM scores a company account with the maximum of the company value and its members’ contact values, counted once per company — so for team accounts, setting the company value is enough. Update it from your billing webhook so Gleap always mirrors your billing system:
Complete runnable Stripe and Paddle webhook examples ship with the SDK: github.com/GleapSDK/GleapAdmin-NodeJS/tree/main/examples. identify and updateCompany send immediately — safe in short-lived webhook handlers. trackEvent is buffered (flushed every 2.5 seconds), so only use it from long-running processes.

Track an event

The userId should match the userId you are using to identify your users. The event data (last param) is optional.

Rate limit

Please note that the identify and track APIs enforce a rate limit of 1500 requests / 60 seconds per API token. If you exceed the limit, requests are rejected with 429 Too Many Requests and the token is blocked for a short period before requests are accepted again.