Trichspace is a real-time behavioral intelligence engine that helps platforms understand, process, and react to user behavior instantly.
Instead of collecting events and processing them later, Trichspace evaluates every event as it happens.
Your platform sends events.
Trichspace processes behavior.
The engine evaluates rules.
The system decides outcomes.
A verified account
A project
An API key
At least one rule
Your application connected to the API
Once completed, your system can begin streaming live events into the Trichspace engine.
Visit the Trichspace signup page and create an account using your email and password.
Email address
Password
Confirm password
A verification email will be sent
Open your inbox
Click the verification link
Your account becomes active
You cannot access the dashboard or create projects until your email is verified.
Once your account is verified:
Open the login page
Enter your email and password
Access the dashboard
After login, you will be redirected to your workspace.
Before sending events, you must create a project. A project represents the system or platform connected to Trichspace.
Shopping platform
Education platform
Events platform
Fintech platform
Wellness application
Its own API keys
Independent event streams
Independent rules
Independent websocket connection
Independent webhooks
| Field | Required | Description |
|---|---|---|
| Project Name | Yes | Name of the platform or application |
| Description | No | Short description of the project |
| URL | No | Platform or website URL |
Create project
Update project
Delete project
View project details
Once a project is selected, the dashboard displays:
Overview
Events
Rules
API Keys
Settings
Webhooks
Each section is connected only to the selected project.
The Overview section provides a real-time summary of your project activity including:
Total events processed
Recent activity
Reward statistics
Processing activity
Live event monitoring
Project performance metrics
The Events section displays all incoming events from your platform:
Raw events from your system
Internal engine processing events
Reward events
Rule evaluation events
Processing status updates
Event ID
Event name
Actor ID
Status
Payload
Metadata
Created timestamp
Open a single event by its ID to inspect the full payload, rule matches, processing lifecycle, and decision outcome.
Rules define behavior and expected outcomes — the core intelligence layer of Trichspace.
What behavior matters
What patterns should be detected
What outcome should happen
Create, update, delete rules
Enable / disable rules
View rule history
Visual UI editor and JSON editor
{
"name": "Onboarding Complete v2",
"when_condition": {
"sequence": [
"tutorial_completed",
"quiz_passed",
"lesson_completed"
]
},
"then_action": {
"reward": "onboarding_complete"
},
"enabled": true
}{
"name": "3 lessons badge",
"when_condition": {
"event": "lesson_completed",
"count": 3
},
"then_action": {
"reward": "bronze_badge"
},
"enabled": true
}{
"name": "Learning Starter",
"when_condition": {
"event": "lesson_completed",
"count": 5
},
"then_action": {
"reward": "learning_starter"
},
"enabled": true
}The Settings section allows you to manage project details, API keys, metadata, and configuration.
Edit project name and description
View project keys
Regenerate API keys
View websocket configuration
Each project contains independent API credentials.
Webhooks allow Trichspace to notify your system whenever a rule or reward is triggered. A webhook can be attached to any rule (optional).
Create, update, delete webhooks
Enable / disable webhooks
https://learnflow.com/api/rewards{
"event": "reward_generated",
"actor_id": "user_123",
"rule_id": "rule_learning_starter",
"reward": {
"name": "learning_starter",
"points": 20
},
"project_id": "proj_123",
"timestamp": "2026-05-08T20:21:01Z"
}Every project is automatically connected to the Trichspace websocket infrastructure, enabling live events, rewards, rule processing, and dashboards. No additional setup required.
If you opt out of the Trichspace dashboard sockets, you can build your own websocket client. Authentication uses the project API key.
const socket = new WebSocket(
"wss://api.trichspace.com/socket?x-api-key=YOUR_PROJECT_API_KEY"
)
socket.onmessage = (event) => {
const data = JSON.parse(event.data)
console.log(data)
}{
"type": "reward_generated",
"actor_id": "user_123",
"event_name": "lesson_completed",
"reward": {
"points": 20,
"name": "learning_starter"
}
}Once your project and rules are configured, your platform can begin sending events. Trichspace supports any platform capable of making HTTP requests.
POST /api/v1/eventsx-api-key: YOUR_PROJECT_API_KEY
content-type: application/json{
"actor_id": "user_123",
"name": "lesson_completed",
"payload": {
"lesson_id": "intro-to-programming",
"score": 95,
"duration_seconds": 300
},
"metadata": {
"device": "mobile",
"platform": "ios"
}
}| Field | Description |
|---|---|
| actor_id | User ID, device ID, machine ID, or any unique identifier |
| name | Event name |
| payload | Event-specific data |
| metadata | Additional contextual data |
await fetch("https://api.trichspace.com/api/v1/events", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "YOUR_PROJECT_API_KEY"
},
body: JSON.stringify({
actor_id: "user_123",
name: "lesson_completed",
payload: {
lesson_id: "intro-to-programming",
score: 95,
duration_seconds: 300
},
metadata: {
device: "mobile",
platform: "ios"
}
})
}){
"data": {
"id": "6605454d-4b6e-46f9-b4f5-3b15a632fbf5",
"name": "lesson_completed",
"status": "pending",
"metadata": { "device": "mobile", "platform": "ios" },
"project_id": "dad8de66-fe88-44ad-8861-adcbc2234b89",
"payload": {
"duration_seconds": 300,
"lesson_id": "intro-to-programming",
"score": 95
},
"actor_id": "user_123",
"inserted_at": "2026-05-08T20:21:01Z",
"updated_at": "2026-05-08T20:21:01Z"
},
"success": true
}| Status | Description |
|---|---|
| pending | Event received and queued |
| processed | Event successfully evaluated |
| rewarded | Reward generated |
| suppressed | Event intentionally ignored |
| review_required | Event flagged for review |
| failed | Event processing failed |
The actor_id represents the entity performing the action — a user, student, device, wallet, machine, or customer.
{
"actor_id": "student_001"
}Good examples: lesson_completed, payment_failed, onboarding_completed
Avoid: event_1, test_event, random_action
Send only relevant data. Avoid large unnecessary payloads.
Rules define system intelligence. Be specific and intentional when defining desired behavior, expected outcomes, reward logic, and recovery flows.
Visit the Help Center
Contact support
Review API examples
Use the Postman collection
Create your account
Verify your email
Create a project
Generate API keys
Create rules
Send your first event
Monitor live processing
Build adaptive behavioral experiences