Agentic CRM
The AgencyCore CRM loop for turning signals and discovery into qualified organization prospects, CRM relationships and outreach.
Agentic CRM
AgencyCore's first Agentic CRM focus is lead generation. The CRM remains the structured source of truth for relationships the organization has chosen to manage, while Agents, Skills, Workflows and Triggers continuously discover and evaluate potential opportunities around it.
The important boundary is that discovery is not CRM creation.
The AgencyCore loop
Define ICP / targeting context
│
▼
Signals Search finds companies,
signals and relevant people
│
▼
Global Intelligence
objective entities + evidence + signals
│
▼
Organization Prospect
fit + lead/opportunity score
+ relevant people + review state
│
├── dismiss / watch ───────────────┐
│ │
▼ │
Promote selected prospect to CRM │
│ │
▼ │
Email sequence workflow │
draft -> approve -> send │
│ │
▼ │
emails / replies / activities / lifecycle │
│ │
└──────> new signals ──────────────┘
Signals Search is one bounded discovery workflow: it finds companies and signals, then finds the relevant people inside the strongest companies. It replaces the earlier split between Sonar company discovery and Headhunter people discovery.
The loop can start from a user request, an on-demand Signals Search Run, a scheduled Trigger, or a new signal on an entity already being watched.
Three product-state layers
Keep three different questions separate. They may share physical infrastructure, but they are not the same state.
| Layer | Question | Holds |
|---|---|---|
| Global Intelligence | What do we know about this company/person and what happened? | normalized entities, evidence, provenance, freshness, signals |
| Organization Prospect | Is this interesting to this organization right now? | ICP fit, signal relevance, lead/opportunity score, reasons, review/watch/dismiss state |
| CRM | Has this organization chosen to manage a relationship with it? | canonical CRM company/person, lifecycle, lists, activities, communications |
Global Intelligence
│
│ organization context / ICP
▼
Organization Prospect
│
│ explicit or policy-approved promotion
▼
CRM
Rules:
- Intelligence is factual; prospect state is organization-relative. The same company may be a strong prospect for one organization and irrelevant to another.
- A signal is not a lead. A signal contributes evidence; organization context determines whether it creates or changes a prospect.
- Discovery does not automatically create CRM records. It creates/updates Intelligence and Organization Prospect state first.
- CRM promotion is explicit. A user action or a policy-approved Workflow may promote a prospect through CRM Tools, which own dedupe/upsert/idempotency.
- Existing CRM entities still participate in the loop. New signals may update intelligence and recommend a new action without creating another CRM record.
- Global Intelligence is a logical ownership boundary, not permission bypass. Customer-private evidence remains scoped by the platform's tenancy and access rules.
Product ownership
| Concern | Owner |
|---|---|
| Company/person relationship truth, lifecycle, lists, activities | CRM |
| Objective research evidence, entity resolution and signals | Intelligence/domain layer |
| Organization-relative fit, score, review/watch/dismiss state | Agentic CRM prospect state |
| Opportunity discovery with signals and persona fit | Signals Search |
| Direct company and people discovery | Company Search and People Search |
| Known-entity Intelligence refresh | Company Enrich and People Enrich |
| Personalized draft creation, approval, send and follow-up | Email sequence workflow |
| Email sequence state | Envoy/email domain |
| Generic execution | Runs + RunManager + Inngest |
| Reasoning loop | Agno via AgentRuntime |
| Authorization/approval | Policy plane |
| Context assembly | Context Builder |
Product apps do not own parallel infrastructure.
Bounded signal and lead discovery
Signals Search owns the research rounds, stop rules, deterministic resolution and evidence clustering. See the Signals Search workflow for that contract.
Agentic CRM consumes resolved Intelligence. It applies organization context, keeps signal score separate from opportunity score, and creates Organization Prospect state. It does not create a second discovery or duplicate-resolution path.
Two scores, two meanings
Do not collapse evidence strength and customer fit into one number. Signals Search owns the canonical score inputs, boundaries, scale and retry rules. See Two scores, separate meanings.
Agentic CRM stores the signal grade on the Organization Prospect signal. It stores the opportunity result on the Organization Prospect. The Signals Search workflow ranks and prunes after opportunity scoring. It then upserts each kept prospect before people discovery and attachment. Both scores keep a short reason, and the opportunity keeps a recommended next action.
Scheduled discovery
An organization may run discovery on demand or from a Trigger. The Run uses the same bounded discovery capability as an active Signals Search.
Trigger / user
-> StartRunCommand
-> RunManager
-> Signals Search discovery capability
-> Intelligence updates
-> Organization Prospect updates
-> Smart Feed / review
The useful V1 is bounded discovery, for example a weekly run with a configured result/cost cap. It does not continuously enrich every company on the internet.
Signal-driven discovery
Monitor only entities and searches the customer has explicitly scoped: saved companies, watched prospects, target lists and saved discovery queries.
source poll/webhook/search
-> normalize + persist evidence
-> deduplicate signal
-> PlatformEvent(company.signal_detected)
-> TriggerMatcher
-> RunManager
-> evaluate signal + organization fit
-> enrich / verify when needed
-> update Organization Prospect or recommend action on CRM account
A monitor detects and stores evidence. It does not become a second workflow engine.
Incremental product feedback
A Signals Search Run may emit useful partial results while later candidates are still being researched.
candidate discovered
-> identity resolved
-> evidence added
-> preliminary fit available
-> verified / qualified
SSE carries this live product feedback. Runs, spans, Intelligence and Prospect records remain durable truth. The UI must tolerate updates to an already-visible candidate as later rounds improve or reject its evidence.
Context model
The CRM stays structured and authoritative for CRM-owned business facts.
Company or person
|- intelligence / signals
|- prospect state for this organization
|- CRM relationship, when promoted
|- emails
|- tasks
`- activities
The Context Builder packs the relevant authorized subset into a brief. On conflict, authoritative CRM/application state wins over published Knowledge, which wins over Memory. Research provenance/freshness is handled inside the Intelligence domain rather than by prompt precedence.
Skills and tools
Reusable procedures are Skill definitions in the common definition lifecycle; there is no separate Skills Registry.
Useful platform Skills include:
- Discover companies
- Search for signals
- Enrich company
- Verify evidence
- Find decision-makers
- Verify contact data
- Qualify lead
- Prepare outreach
An Agent names the Skills and Tools it may use. A Skill may recommend Tools but cannot grant them. Tools own safe writes, credentials, policy checks, idempotency, vendor limits, provenance and bounded results.
Enrichment decision
Company Enrich and People Enrich use published workflows over the existing enrichment components. They support bounded Basic and Standard targets, current cache rules and canonical Intelligence write-back. An Agent step is optional when a bounded research task needs judgment. It does not own the common provider waterfall.
Direct Search and Enrich remain separate operations. The product carries selected refs from one segment to the other. Signals Search can compose them explicitly and request only the fields needed by its scoring and persona steps. Deep or goal-specific enrichment is deferred. Bounded signal research remains part of Signals Search. Enrichment updates Intelligence, not tenant CRM records. CRM promotion and refresh remain explicit product actions.
Knowledge
Published Knowledge gives the product reusable organization context such as:
- ICP definitions
- target industries
- buyer personas
- qualification rules
- services and positioning
- outreach guidance
AgencyCore stores Knowledge in the existing resource/pgvector infrastructure. Agents retrieve it through Context Policy; they may propose changes but do not silently rewrite published Knowledge.
Human boundary
Discovery, research, enrichment and prospect recommendations can run automatically. Promotion to CRM and downstream writes/sends use shared Tools and Policy; policy may require approval.
The prospect review should show enough to decide without opening a Run:
- company
- relevant people when available
- new signals
- evidence/provenance/freshness
- signal score and reason
- lead/opportunity score and reason
- CRM state, when one already exists
- recommended next action
Product vs execution state
AgencyCore owns product state such as Intelligence, signal status, Prospect qualification/review state and CRM lifecycle. Runs own generic execution state:
queued | running | waiting | succeeded | failed | cancelled
Do not encode search-round progress or prospect lifecycle as extra Run statuses. Those are span/product details.
Not building in V1
- general-purpose customer graph
- schema-less CRM
- continuous whole-internet monitoring
- unbounded recursive research
- automatic CRM creation for every discovered company
- automatic outreach that bypasses Policy
- product-specific scheduler or queue
- separate enrichment execution system
- second workflow engine
Minimum scenarios
| Scenario | Expected behavior |
|---|---|
| Broad active search | bounded discovery rounds; dedupe continuously; stream partial prospects; no automatic CRM creation |
| Same company found by five searches | one normalized entity with merged provenance, not five prospects |
| Strong funding signal on poor-fit company | high signal score may coexist with low lead score |
| Weak new signal on a strategic target | prospect may still rank highly because organization fit is strong |
| Signal already seen | update/ignore according to freshness; do not create a duplicate opportunity |
| New signal on existing CRM customer | update intelligence and recommend action against the existing CRM entity |
| Scheduled run finds nothing materially new | successful Run with no Smart Feed additions |
| User promotes prospect | CRM Tool performs idempotent canonical upsert and returns CRM reference |