Ontology
8 types 14 actions 8 sources
The ontology is the semantic layer your agents reason over. Each object type unifies data from one or more sources — connectors, files, or the inbox — into a typed shape, with relations to other objects and actions agents can take.
Object types
Customer
Person who has purchased or subscribed. Identity merged across Shopify and Klaviyo.
Sources
KlaviyoShopify
Properties (7)
| Name | Type | Source |
|---|---|---|
| string | klaviyo_profile.email | |
| first_name | string | shopify_customer.first_name |
| last_name | string | shopify_customer.last_name |
| ltv | number | ƒ Σ shopify_order.total where customer_id = id |
| segment | enum | klaviyo_profile.segments |
| subscribed | boolean | klaviyo_profile.subscribed |
| created_at | date | shopify_customer.created_at |
Relations (3)
orders → Order 1:nsessions → Session 1:ncampaigns → Campaign n:n
Actions (5)
Send email Send SMS Add to segment Recompute LTV Export to CSV
Order
Purchase transaction from the storefront.
Sources
Shopify
Properties (6)
| Name | Type | Source |
|---|---|---|
| order_number | string | shopify_order.order_number |
| total | number | shopify_order.total |
| status | enum | shopify_order.status |
| placed_at | date | shopify_order.placed_at |
| customer | ref → Customer | ƒ join on shopify_order.customer_id |
| shipment | ref → Shipment | ƒ join on threepl_shipment.order_id |
Relations (2)
placed by → Customer 1:1fulfilled by → Shipment 1:1
Actions (3)
Issue refund Cancel order Export to CSV
Shipment
Physical fulfillment record from the 3PL warehouse.
Sources
3PL Central
Properties (5)
| Name | Type | Source |
|---|---|---|
| tracking_number | string | threepl_shipment.tracking_number |
| carrier | enum | threepl_shipment.carrier |
| status | enum | threepl_shipment.status |
| shipped_at | date | threepl_shipment.shipped_at |
| order | ref → Order | threepl_shipment.order_id |
Relations (1)
fulfills → Order 1:1
Actions (1)
Update shipment
Campaign
Marketing campaign across email, SMS, and paid channels.
Sources
Meta Ads
Properties (7)
| Name | Type | Source |
|---|---|---|
| name | string | meta_ads_campaign.name |
| channel | enum | ƒ classify source(s) |
| status | enum | meta_ads_campaign.status |
| spend | number | meta_ads_insights_daily.spend |
| revenue | number | ƒ attributed Σ order.total |
| roas | number | ƒ revenue / spend |
| launched_at | date | meta_ads_campaign.launched_at |
Relations (2)
reached → Customer n:ndrove → Session 1:n
Actions (2)
Launch campaign Pause campaign
Session
Web session from Google Analytics with attribution.
Sources
Google Analytics
Properties (6)
| Name | Type | Source |
|---|---|---|
| session_id | string | ga4_session.session_id |
| landing_page | string | ga4_session.landing_page |
| source | enum | ga4_session.source |
| medium | enum | ga4_session.medium |
| started_at | date | ga4_session.started_at |
| converted | boolean | ƒ exists order within 24h |
Relations (2)
by → Customer n:1attributed to → Campaign n:1
Actions (0)
Employee
Internal team member from Gusto payroll.
Sources
Gusto
Properties (5)
| Name | Type | Source |
|---|---|---|
| full_name | string | gusto_employee.full_name |
| role | string | gusto_employee.role |
| department | enum | gusto_employee.department |
| hire_date | date | gusto_employee.hire_date |
| salary | number | gusto_employee.salary |
Actions (2)
Send email Approve time off
Contract
Legal document extracted from files with counter-party and terms.
Sources
Files
Properties (6)
| Name | Type | Source |
|---|---|---|
| title | string | files_contract.title |
| counterparty | string | files_contract.counterparty |
| effective_date | date | files_contract.effective_date |
| expires_at | date | files_contract.expires_at |
| value | number | files_contract.value |
| signed | boolean | ƒ signature extracted from pdf |
Relations (1)
with → Customer n:1
Actions (1)
Send for signature
Email
Inbound message from the team inbox, enriched with extracted entities.
Sources
Inbox
Properties (6)
| Name | Type | Source |
|---|---|---|
| subject | string | inbox_email.subject |
| from | string | inbox_email.from_addr |
| received_at | date | inbox_email.received_at |
| thread_id | string | inbox_email.thread_id |
| intent | enum | ƒ classifier on body |
| linked_order | ref → Order | ƒ entity extract from subject/body |
Relations (2)
from → Customer n:1about → Order n:1
Actions (1)
Forward to team
Actions library
Action Kind Applies to Target
Send email
send Customer, lead, Employee Klaviyo Send SMS
send Customer, lead Klaviyo Add to segment
write Customer, lead Klaviyo Issue refund
write Order Shopify Cancel order
write Order Shopify Update shipment
write Shipment 3PL Central Launch campaign
write Campaign Meta Ads Pause campaign
write Campaign Meta Ads Send for signature
workflow Contract DocuSign Mark paid
write invoice Ledger Approve time off
write Employee Gusto Forward to team
send Email Gmail Recompute LTV
derive Customer Ontology Export to CSV
workflow Customer, Order Files