Now in private beta

One customer profile growing from every conversation,
Universally read.

What your customer is trying to do, what's blocking them, how they feel. Built automatically from every message, ticket, and call. Read by every agent.

See it
Evidence behind every fieldTrust & security →
profile · cust_a8b2e1live
profile · cust_a8b2e1 92d · 138 msgs ──────────────────────────────────────── identity end_user_id maya@nori.app sources slack · zendesk · web facts role head of growth stack salesforce · mixpanel · segment tier team / 24 seats goal cut onboarding to 2 min signals confidence intent · renewal ███████░░ 0.81 sentiment · positive ███████░░ 0.78 custom.churn · low ████████░ 0.92 journey.onboarding ███████░░ 0.74 growth day 1 14 msgs · intent only day 30 47 msgs · + stack + pain day 92 138 msgs · + tier + signals

Product

Customer engagement, closer.
In their own words.

Three primitives. Wire them in an afternoon. Every agent in your product reads from the same profile.

01
Conversations in. Signal out.
Plug in Slack threads, support tickets, call transcripts, emails. Ediccio distills what each customer is trying to tell you: intent, pain, sentiment, preferences. No event schema to design. No labelling.
write · MCP tool
02
Drops into your stack. One profile per customer.
Identity facts the customer mentions land on the same profile: an email confirmed in chat, a handle dropped in a ticket, a phone number left at signup. No cross-tenant joins, no third-party identity matching. The profile stays scoped to your workspace and grows every time they engage.
Profiles · keyed
03
MCP-native
Read and write the profile from any agent runtime. Drop the remote MCP server into any MCP-compatible host. No packages, no glue code: three tools and a bearer token.
3 tools · 1 profile

Three lines

Drop in. Profiles populate themselves.

You write a record call. Ediccio distills the signal from the conversation and lands it on the right customer's profile inside your tenant. Your agent reads it back as a single profile object.

  • Stable end_user_id within your workspace: the same key from anywhere your code calls us.
  • A confidence score and an evidence pointer on every observation.
  • Audit log on every write: sources, model versions, latency.
  • Agents retry; the profile counts it once (idempotency keys).
  • Bring your own model gateway (Enterprise).
// Drop this into any MCP-compatible host's config file.
// Endpoint + credential: dashboard → connection details.

{
  "mcpServers": {
    "ediccio": {
      "type": "http",
      "url": "<your MCP endpoint>",
      "headers": {
        "Authorization": "Bearer <your token>"
      }
    }
  }
}

// Tools your agent gets, automatically:
//   ediccio___write  : land a signal under end_user_id
//   ediccio___read   : fetch the profile by end_user_id
//   ediccio___search : natural-language search within your tenant

Why not the alternatives

Three honest comparisons.

We've shipped each of these. We picked our spot deliberately.

Approach
DIYPostgres + an LLM + a weekend.
Open-source stackThree repos, a Helm chart, on-call.
EdiccioManaged. One MCP call. No on-call.Where we play
SetupFrom signed contract to first profile.
4–8 weeks
2–3 weeks
An afternoon
Conversation readingIntent, pain, sentiment, preferences, pulled from plain conversation.
Build it yourself
Wire 3 libraries
Built-in
Identity modelHow the profile accumulates identity facts over time.
Brittle ID joins
Partial
End-user-authored
MCP / agent runtimesRead and write memory from your agent.
Roll your own
Not really
Drop-in server
Eval & confidenceField-level confidence with audit log.
Per field
Ops you carryInference, vector store, drift monitoring.
All of it
Most of it
None
Schema safetyCan a prompt-injected agent redefine what profiles mean?
One key does everything
One key does everything
Partitioned credentials

Pricing

Priced on signals. Not seats, not profiles.

A signal is one natural-language input we extract from. Hold as many profiles, seats, and viewers as you like. You pay for what you feed the extractor, nothing else.

Founding customers: 50% off list, locked for 12 months.

Free

For a single agent on a side project.

$0forever
5,000 signals / mo · up to 500 active profiles
Includes
  • Profile extraction via MCP
  • MCP server (read-only)
  • Self-serve dashboard · zero-downtime key rotation
  • 1 workspace · community support
  • Hard cap: reads stay live at the limit

Scale

For teams past security review, scaling across products.

$1,499/ month
Includes 1.5M signals / mo · then $0.0011 each
Includes
  • Everything in Team
  • DPA · EU data residency
  • Unlimited workspaces & viewers

Enterprise

For regulated, multi-region, agent-heavy stacks.

Coming soon
Custom volume · annual · public pricing soon
Includes
  • Everything in Scale
  • SAML + SCIM provisioning
  • BAA + custom DPA
  • VPC peering · private networking
  • BYO model gateway
  • Named CSM + solutions engineer
  • 99.95% uptime SLA
A signal is one natural-language input we extract from: a message, a note, a transcript turn, a webhook payload. Active profiles, seats, and read-only viewers are never metered. Prices exclude VAT/IVA and other applicable taxes.
See rate limits →

The customer profile is the part of your stack that should already be done.