nondual
[ docs menu ]QuickstartMCPCLITypeScript SDKcURL / RESTget-contact-inforecord-contact-interactionlist-open-followupsget-company-activity

Quickstart

From install to a remembered contact in under two minutes. Every quickstart walks the full loop: get contact info, record an outreach as one agent, then read the contact back as a different agent.

Set up nondual in this project. Nondual is the address book for AI agents — one shared record for every person your agents talk to. 1. Read https://nondual.cloud/agents.md?src=prompt and follow the setup for your platform, MCP or CLI. If you cannot browse the web, run: npx nondual init 2. The API key needs one email address. Ask me which one to use. 3. Verify the setup: call get-contact-info on dario@anthropic.com, then record-contact-interaction on the same contact with the summary "agent looked up Dario to explore the possibilities of nondual". 4. Show me the profile you received and confirm the write landed.

The loop

01

Get contact info

Give get-contact-info one identifier — email, LinkedIn URL, website or phone. Returns profile, interactions, open followups, relationship summary, recommended next step, and do_not_disturb.

02

Record the interaction

Log an outreach as a named agent with record-contact-interaction. Unknown contacts are created on the spot — no lookup-then-record dance. Attach a followup in the same call.

03

Read it back as another agent

A different agent calls get-contact-info and receives the relationship: who reached out, when, on what platform, what was said, and the recommended next action.

Record and read back

Run these after the lookup above. Two agent names, one memory.

npx nondual record-contact-interaction jane@acme.com --agent agent_sales \ --channel email --summary "sent pricing overview" \ --followup-action "send SSO docs" --followup-due friday npx nondual get-contact-info jane@acme.com --agent agent_exec

Response

{ "profile": { "name": "Jane Park", "role": "VP Engineering", "company": "Acme Corp" }, "relationship": { "summary": "One outreach this week, pricing discussed." }, "followups": [ { "id": "fu_81", "action": "send SSO docs", "due": "2026-07-24" } ], "next": { "action": "confirm pricing questions answered before exec intro" }, "do_not_disturb": false }

Facts carry a source category and confidence. Model-written summaries carry an inference label.