Event catalog
The authoritative source is each function’s registry.py. When this table and a registry
disagree, the registry wins — and this page needs updating.
SQS events
CrmSyncQueue.fifo → morpheus-hubspot
Routing key: the event_type field inside the message body.
event_type |
Model | Producer | Purpose |
|---|---|---|---|
|
|
enrichment-scorer |
Upsert a HubSpot Company + Contacts, write ids back |
|
|
phone-agent, web app |
Generic Contact PATCH by HubSpot id |
|
|
web app |
Update Communication Preferences |
|
|
manual, web app |
Trigger-only backfill of |
|
|
web app |
Create a logged Email object (+ follow-up Task, + AgentEmail event) |
|
|
web app |
PATCH an existing Email object |
|
|
web app |
Send a whitelisted behavioural event |
|
|
web app |
Create a HubSpot Task, mirror in |
|
|
web app |
Set a Deal stage |
|
|
web app dialer |
Sync a completed AI call to HubSpot (+ Nooks) |
|
|
webhook relay |
Dispatch inbound HubSpot notifications |
|
|
phone-agent, web app |
Sync a task’s status to HubSpot |
Schemas: CrmSyncQueue events.
EnrichmentPipelineQueue.fifo → enrichment-scorer
Routing key: the event_type SQS message attribute.
event_type |
Model | Producer | Purpose |
|---|---|---|---|
|
|
enrichment-scraper |
A discovered seller to persist, enrich, and score |
Schema: EnrichmentPipelineQueue events.
EmailAgentQueue → email-agent
Standard queue. Routing key: the event_type SQS message attribute.
event_type |
Model | Producer | Purpose |
|---|---|---|---|
|
|
web app |
Classify an inbound reply |
|
|
Resend webhook relay |
Inbound email received — logging stub |
|
none registered |
phone-agent |
Stage-1 escalation email — dropped, no handler |
Schemas: EmailAgentQueue events.
Scheduled events
Routing key: detail-type at the event root, set by the rule’s Input.
detail-type |
Consumer | Rule enabled | Purpose |
|---|---|---|---|
|
enrichment-scraper |
commented out |
SmartScout seller discovery |
|
enrichment-scraper |
commented out |
Stub — raises |
|
enrichment-scraper |
no rule |
Stub — ad-hoc per-category discovery |
|
enrichment-scraper |
yes |
Mirror HubSpot contacts from BigQuery |
|
enrichment-scorer |
commented out |
Backfill enrichment |
|
enrichment-scorer |
commented out |
Backfill payout-pain scores |
|
morpheus-hubspot |
yes |
Poll HubSpot for completed tasks |
|
morpheus-hubspot |
yes |
Wide-search HubSpot id resolution |
|
morpheus-hubspot |
yes |
Mirror engagements into |
|
morpheus-hubspot |
yes |
Email-click segment |
|
morpheus-hubspot |
yes |
Supplier account segment |
|
morpheus-hubspot |
yes |
Meeting no-show segment |
|
morpheus-hubspot |
yes |
Lost/stalled deal segment |
|
morpheus-hubspot |
yes |
Rebuild per-rep HubSpot call lists |
|
morpheus-hubspot |
yes |
Import Five9 CSV call logs |
|
phone-agent |
yes |
Twilio line intelligence |
|
phone-agent |
yes |
Slack reminders + escalation |
|
phone-agent |
yes |
Amazon seller campaign segment |
Cadences: EventBridge schedules. Details: Scheduled events.
AgentCore workflows
Not events, but the third named-invocation surface. Registered in
agentcore/workflows/init.py.
| Workflow | Payload | Purpose |
|---|---|---|
|
|
Direct prompt passthrough |
|
|
Analyse HubSpot history, prepare a call brief |
See Invocation contract.
Where models live
| Location | Contents |
|---|---|
|
Every cross-function event: |
|
|
|
|
|
|
|
|
|
|
|
|
Each function defines its own ScheduledEvent — a permissive extra="ignore" model with
a single optional source field. They are not shared, because a scheduled event carries
no payload worth a shared contract.
Coverage gaps
| Gap | Status |
|---|---|
|
Published by |
|
Registered, but the handler only logs. Intended behaviour is in its module docstring. |
|
Registered, raises |
|
Registered, raises |
|
Only |
|
Only |
|
Only |