POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
POST /v1/kea/query
{ "ask": "overdue invoices" }
→ 200 OK · 142ms
SELECT invoice_id, amount, due_date
FROM finance.invoices
WHERE status = 'overdue'
→ 3 rows · $12,480
kea.draft(followup, rows=3)
→ queued for approval
module erp.finance ready
module crm.pipeline ready
module bi.dashboards ready
module kea.assistant ready
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
nest.sync(source='xero')
→ 214 transactions
→ 209 matched automatically
→ 5 flagged for review
forecast('revenue', horizon='90d')
→ confidence 0.87
SELECT region, SUM(total) AS revenue
FROM sales.orders
GROUP BY region
ORDER BY revenue DESC
auth: scoped to tenant
region: australasia-1
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt
GET /v1/bi/dashboards/live
→ streaming 8 widgets
on(stock.level < reorder_point)
kea.propose(purchase_order)
→ awaiting approval
deploy: cloud-run · rev 412
health: ok latency: 38ms
uptime: 99.98%
kea.explain('margin dip Q2')
→ freight +1.1pt