Guides
Creating a Vertical
How to configure Binexia for a new business domain.
Binexia uses a template pattern: the same code serves every vertical. Only the semantic model configuration and seed data change. This guide covers what you need to create a new vertical.
The Template Pattern
Same codebase (Laravel + Nuxt + Agno)
└─ Different configuration per vertical:
├─ Semantic model (entities, metrics, dimensions, vocabulary)
├─ Seed data (demo records)
├─ Dashboard templates (widgets, layouts)
├─ Goals (scheduled agent configurations)
└─ LLM routing defaults (provider/model per agent)Checklist
1. Domain Tables (tenant_data schema)
Create the business tables for your vertical. Examples:
| IntelliTravel | Manufacturing | Legal |
|---|---|---|
customers | clients | clients |
bookings | orders | cases |
destinations | products | practice_areas |
suppliers | suppliers | attorneys |
contact_history | quality_reports | time_entries |
2. Semantic Entities
Map each domain table to a natural language entity with description and active_filter_sql.
3. Metrics
Define the key performance indicators:
| IntelliTravel | Manufacturing | Legal |
|---|---|---|
| Total Bookings | Total Orders | Total Cases |
| Revenue | Revenue | Billable Hours |
| Avg Booking Value | Avg Order Value | Avg Case Value |
| Cancellation Rate | Defect Rate | Case Dismissal Rate |
| Active Customers | Active Clients | Active Clients |
| Repeat Booking Rate | Repeat Order Rate | Client Retention Rate |
4. Dimensions
Time: booking date, travel date → order date, delivery date → case filed date, case closed date Categorical: destination, channel, segment → product line, region, priority → practice area, attorney, court
5. Vocabulary
Domain-specific business terms. This is the most important part — it's where domain expertise gets encoded:
| IntelliTravel | Manufacturing | Legal |
|---|---|---|
| "high-value customer" | "enterprise client" | "major client" |
| "at-risk customer" | "churn-risk client" | "at-risk client" |
| "seasonal booking" | "seasonal order" | "seasonal case volume" |
| "supplier SLA breach" | "supplier quality issue" | "attorney response delay" |
6. Goals
Configure scheduled agent goals:
{
"name": "cancellation_rate_alert",
"agent_type": "anomaly",
"agent_schedule": "0 8 * * *",
"alert_threshold": { "above": 20.0, "window_days": 7 }
}7. Seed Data
Create a seeder class (like UbiosDemoSeeder) that populates:
- Users with roles
- Semantic model tables (entities, metrics, dimensions, vocabulary)
- Goals
- Dashboard templates with widgets
- Sample agent outputs for demo purposes
- LLM routing defaults
8. Test
- Run the seeder
- Log in and verify dashboards render correctly
- Test natural language queries against the semantic model
- Verify vocabulary terms trigger correctly
- Check scheduled agent configurations
Example: Manufacturing Vertical
Info
The code is identical to IntelliTravel. Only the configuration below changes.
Entities: client, order, product, supplier, quality_report Key metrics: Total Orders, Revenue, Avg Order Value, Defect Rate, Active Clients, Repeat Order Rate Key dimensions: order_date, delivery_date, product_line, region, supplier Vocabulary: "enterprise client" (order value greater than $50K), "defect" (quality_score below 80), "on-time delivery" (delivery_date on or before promised_date) Goals: Defect Rate Alert (anomaly, daily), Client Churn Risk (behavioral, weekly), Monthly Revenue Forecast (forecast, monthly)