Connect your CRM, inbox, calendar and call recorder once. Read every customer through one endpoint.











Five records in five tools. OpenNous resolves them to one person, even if they changed their email, were never added to your CRM, or the call was recorded somewhere else.
Duplicates, missing owners and stale rows are fine. No schema to design and no cleanup first.
Connectors, identity resolution, extraction and freshness are already built, and already maintained.
1 $ curl https://api.opennous.cloud \ 2 /v2/accounts/acme.com \ 3 -H "Authorization: Bearer $KEY"
Replied to email · 24 Sep“Thursday works. Can you bring pricing for 40 seats?”1 "facts": [{ 2 "category": "Budget", 3 "content": "Budget approved for Q4.", 4 "quote": "We have the budget signed off.", 5 "speaker": "Sarah Chen", 6 "source": "fireflies", 7 "date": "2026-09-24" 8 }]
Discovery call · 24 SepTom 14:02
Security review is the last step on our side.
Sarah 14:03
We have the budget signed off for Q4.
Budget approved for Q4, owned by the CRO.
1 $ curl -X POST https://api.opennous.cloud \ 2 /v2/context -d '{ 3 "focus": "sarah@acme.com", 4 "intent": "meeting_prep" }'

1 { 2 "type": "deal.stage_changed", 3 "account": { "domain": "acme.com" }, 4 "stage": "proposal", 5 "changed_at": "2026-10-01T14:02:00Z" 6 }
An API that returns one resolved record per customer, built from every tool your team uses. Each fact in the record carries the source it came from, its date and a confidence score.
Anything that needs to know a customer: sales agents, meeting prep, follow-up drafting, CRM updates, account scoring, customer success alerts and internal copilots.
HubSpot, Salesforce and Attio for your CRM. Gmail, Outlook and Google Calendar. Granola, Fireflies and Fathom for calls. Slack, and PostHog for product usage.
Building it means syncing a dozen tools, resolving the same person across all of them, extracting facts from calls and emails and keeping those facts current. That is months of work, and it never ends. The API gives you the finished record.
Call GET /v2/accounts with a domain, an email, a LinkedIn URL or an ID. If the identifier matches more than one account, you get the candidates back instead of a guess.
It matches emails, domains, LinkedIn profiles and CRM IDs first, then names only when another detail confirms them. When the evidence isn’t strong enough, the match is flagged for a person to confirm.
Records update as new calls, emails and CRM changes arrive. Paid plans also import the last three months of history on day one.
Subscribe to webhooks. Events cover deals, replies, meetings and ICP tier changes, and every payload is signed.
Yes. Claude, Claude Code and Slack read the same records over the OpenNous MCP server, and your own agents use the API, with the same permissions as your team.
Raw emails, calls and messages are visible only to the person they belong to. The API returns the business facts extracted from them, such as the decision maker or the agreed next step, with their source and date.
Yes. OpenNous is open source. You can run it on your own infrastructure and take your data with you.
Sign up for free and create an API key in Settings, or talk to us and we’ll set it up on your own accounts.