Glossary

Domain terms

AgentCore Memory

Managed Bedrock service that persists agent conversation turns and extracts long-term memory records. Morpheus configures three strategies — facts, contact details, and session summaries. See AgentCore Memory.

ASIN

Amazon Standard Identification Number — one product listing. numberAsins on a seller is a proxy for catalogue size and therefore for inventory funding needs.

Call list

The set of contacts a sales rep should call today. Materialised as a dynamic HubSpot Contacts list per rep, filtered on hubspot_owner_id and call_list_date. See Daily call lists.

call_priority

HubSpot contact property, 1–4, where 4 is most urgent. Reps work top-down.

call_list_date

HubSpot contact property holding the date (US Eastern, YYYY-MM-DD) the contact was enrolled on a call list. Stamping today’s date is what puts a contact on today’s list.

call_assigned_to

HubSpot contact property carrying the owner id the call is routed to. Distinct from hubspot_owner_id, which is the record’s actual owner.

CampaignTarget

One phone number enrolled in a calling campaign, with its own state machine (pending → dialing → completed/failed/skipped, plus DNC, WN, MAX, DT_PENDING, VOICEMAIL).

Contact

A person. The single source of truth shared between campaign targets and HubSpot. Unique per subscription on email, phone, hubspotContactId, and supplierKey.

Disposition

The outcome of a call. Internally a string; in HubSpot a hs_call_disposition outcome GUID. Mappings live in pyb_hubspot/disposition_outcomes.py (AI calls) and morpheus_hubspot/utils/constants.py (Five9 calls). See Call logging and dispositions.

Five9

The BDR team’s dialer. Call logs arrive as CSV drops on Files.com and are synced into Call rows plus HubSpot call engagements.

FollowUpTask

An internal task assigned to a sales rep, mirrored into HubSpot (and optionally Nooks). Carries an escalationStage counter used by the Slack escalation ladder. See Follow-up tasks and escalation.

ICP

Ideal Customer Profile. Here: annual revenue between ICP_REVENUE_MIN and ICP_REVENUE_MAX (default \$100k–\$1M), optionally narrowed by category.

Lifecycle stage

Two different ladders. Seller.lifeCycleStage is the internal enrichment pipeline stage (new → enriched → …). Contact.lifecycleStage mirrors HubSpot’s lifecyclestage. Promotion to marketingqualifiedlead is rank-guarded — it never demotes.

MCP

Model Context Protocol. Morpheus consumes two remote MCP servers — HubSpot (mcp.hubspot.com) and Tavily (mcp.tavily.com) — as agent tools.

Nooks

Sequencing and dialer platform. Optional integration used by the dialer-call-ended sync to enrol contacts in sequences.

outreach_list_reason

HubSpot contact property recording which automation enrolled the contact on today’s call list, so reps and reporting can see the segment source.

Payout-pain score

sellers.payoutPainScore, 0–100. How acutely a seller feels cash-flow pressure from marketplace payout delays. Produced by a second, tool-free AI pass. See Payout-pain score.

Re-engagement

Putting a previously contacted person back on a call list because a fresh signal appeared. Five segments exist. See Re-engagement segments.

Round-robin

Fair distribution of ownerless contacts across active sales reps, using a cursor in configs guarded by a PostgreSQL advisory transaction lock. See Ownership and round-robin.

Seller

A marketplace business (Amazon, Walmart, or Shopify). Maps to a HubSpot Company, not a Contact. Keyed by sellerId, the external marketplace id.

SmartScout

Third-party Amazon marketplace intelligence API — the source of seller discovery.

Subscription

The tenant. Every domain row carries subscriptionId. Morpheus operates a single subscription in production: b191a905-5d19-4fa0-941b-d8eb81c0c477.

Supplier

A seller who has created a Payability account. Tracked on Contact via supplierKey, supplierStatus, supplierCancellationStatus, supplierMarketplace.

Tavily

Remote MCP web-search and content-extraction service used by the enrichment agent.

Watermark

A timestamp cursor in the configs table marking how far an incremental sync has progressed. See Runtime state in configs.

Platform terms

Best-effort step

A pipeline step wrapped in try/except that logs and returns on failure, because an earlier step already committed. Applies to AI enrichment, AI scoring, and CRM publishing in the enrichment pipeline.

Dispatcher

handler.py in each Lambda. Detects the event shape (SQS batch or EventBridge), resolves the routing key, validates the payload against the registered model, and calls the handler. Contains no business logic.

Fat event

An event carrying every field the consumer needs, so the consumer performs no database read purely to do its job. Seller.CrmSync is the canonical example.

Registry

The dict mapping routing keys to (handler, model) pairs in each Lambda’s registry.py. Two registries exist in morpheus-hubspot: event_registry for SQS and scheduled_registry for EventBridge.

Routing key

The event_type SQS message attribute (or event_type field in the body for CrmSyncQueue), or the EventBridge detail-type. Must match a registry key exactly.

Structured output

A Strands feature: setting AgentConfig.structured_output_model adds a dedicated output tool so the model returns a validated Pydantic instance in AgentResult.structured_output. Removes all manual JSON parsing.

Workflow

A named, registered unit of work in the AgentCore runtime, invoked by name with a payload. Callers never name a model or an agent. See Workflows.