For developers
Bring your entire customer stack into your app.
The @bigfootai/noded-sdk drops your live Noded graph — people, companies, activity, notes, memory — straight into a CRM sidebar, a support widget, or an internal dashboard. One-line auth, typed helpers, no GraphQL to learn. Vibe-code it with Claude or Cursor.
Quickstart · 5 minutes
From zero to live data
Your users sign in with their own Noded account — so there are no secret keys in your app, and every call is automatically scoped to what they're allowed to see. To get going, request your credentials and we provision access for your app.
Request access
Ask Noded for your auth domain, client ID and API audience. Send us your app origin(s); we provision as needed.
Install & connect
npm i @bigfootai/noded-sdk oidc-client-ts, create the client with those values, then call noded.connect().
Read
Call the resource helpers. No GraphQL, no schema spelunking — just typed results.
import { Noded } from '@bigfootai/noded-sdk'; const noded = new Noded({ auth: { mode: 'oidc', issuer: NODED_ISSUER, // provided by Noded when you request access clientId: NODED_CLIENT_ID, // provided by Noded — your app's SPA client audience: NODED_AUDIENCE, // provided by Noded — the Noded API audience }, }); await noded.connect(); // opens Noded login, then silent refresh const people = await noded.people.search('acme.com'); const [acme] = await noded.companies.search('Acme'); const timeline = await noded.activity.forTag(acme.id, { limit: 20 }); const note = await noded.notes.create({ title: 'QBR prep' });
Reference
What you can pull in
Every helper returns clean, typed objects. Need a field the helpers don't cover? Drop to noded.graphql() and query the API directly.
| Call | Returns |
|---|---|
| noded.people.search(q) | People (contacts) matching a name or email |
| noded.companies.search(q) | Companies / accounts matching a name or domain |
| noded.activity.forTag(id) | Unified timeline — notes, emails, tasks, messages, meetings |
| noded.notes.create({ title }) | A note written back into the graph |
| noded.memory.forTag(id) | What Noded remembers about a person or account |
| noded.search(q) | People and companies in one call |
| noded.graphql(query, vars) | Escape hatch — any Noded GraphQL operation |
Vibe code it
Let your agent do the wiring
Drop our AGENTS.md into your project (or .cursorrules / CLAUDE.md). It teaches Claude or Cursor the SDK, the auth model and the data shapes — so a one-line prompt produces working code, not guesses.
The agent installs the SDK, wires noded.connect(), resolves the company, and renders the timeline + memory — using the typed helpers it already understands.
Auth, without the ceremony
No secrets in the browser
The SDK signs your users in with their Noded account and manages token refresh for you. Nothing sensitive ships to the client, and access always respects the signed-in user's permissions.
Sign in with Noded
Your teammates already have Noded accounts. mode: 'oidc' — a popup, then silent refresh. Zero backend.
Server proxy
Embedding where viewers aren't Noded users? Run a tiny proxy that holds the credential; the browser never sees it.
Token mode
Rendering on the server? Bring your own access token with mode: 'token'.
Build customer-aware software.
Skip the customer-context problem — governance, ontology and model routing are handled underneath. You just render the data.