Intake-Triage
Enables the use of automated text classification and entity extraction within Make scenarios using the triage API.
Integrates with n8n workflows via HTTP nodes to provide structured JSON triage data for automated ticket and message processing.
Provides specialized processing for raw text from Slack messages to extract structured data like order IDs, contact info, and intent.
Allows Zapier automations to process unstructured text into guaranteed-schema JSON for routing and sentiment analysis.
Intake Triage & Classification API
A pay-per-call API that accepts raw unstructured text (emails, support tickets, Slack messages, voicemail transcripts) and returns a guaranteed-schema JSON triage object with intent, urgency, sentiment, entities, and routing.
Quick Start
curl -X POST https://your-domain.com/triage \
-H "Content-Type: application/json" \
-H "X-API-Key: sk_live_abc123" \
-d '{
"text": "Hi, I placed an order three days ago (order #8821) and still haven't received a shipping confirmation. This is really frustrating. Can someone help? - James, james@example.com",
"context": "ecommerce_support"
}'Response:
{
"schema_version": "v1",
"intent": "order_status_inquiry",
"urgency": "medium",
"sentiment": "frustrated",
"entities": {
"order_id": "8821",
"issue": "missing shipping confirmation",
"contact_name": "James",
"contact_email": "james@example.com",
"product": null,
"company": null,
"phone": null,
"date_mentioned": null
},
"suggested_routing": "order_fulfillment",
"summary": "Customer James reporting no shipping confirmation received 3 days after placing order #8821.",
"tags": ["order", "shipping", "delay"],
"confidence": 0.96,
"processing_time_ms": 312,
"model_used": "gpt-4o-mini"
}Related MCP server: Laya Agent Kit
Setup
git clone <repo-url> && cd intake-triage-api
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # fill in your keys
python main.pyAPI Endpoints
Method | Path | Auth | Description |
POST |
| API Key | Classify text and return triage JSON |
GET |
| None | Health check |
GET |
| None | Full JSON Schema of the output model |
GET |
| API Key | Current usage stats for your key |
POST |
| Admin Key | Create a new API key |
GET |
| None | Swagger UI |
Input Schema
Field | Type | Required | Description |
| string | Yes | Raw unstructured text to classify |
| string | No | Business context hint (e.g. |
| string | No |
|
Output Schema
Field | Type | Description |
|
| Response schema version |
| enum |
|
| enum |
|
| enum |
|
| object | Extracted entities: |
| enum |
|
| string | One-sentence summary |
| string[] | Lowercase keyword tags |
| float | 0.0–1.0 confidence score |
| int | Processing time in ms |
| string | LLM model used |
Authentication
Pass your API key in the X-API-Key header with every request.
To get an API key, email api@yourdomain.com with your use case.
Rate Limits
60 requests per minute per API key. Exceeding this returns 429.
Using as an MCP Server (Claude Desktop)
Add to your Claude Desktop claude_desktop_config.json:
{
"mcpServers": {
"intake-triage": {
"url": "http://localhost:8001/sse"
}
}
}The MCP server exposes one tool: triage_text(text, context?) which returns the full triage JSON object.
Using in n8n
Add an HTTP Request node
Set method to POST
URL:
https://your-domain.com/triageHeaders:
X-API-Key: your_key,Content-Type: application/jsonBody (JSON):
{ "text": "{{ $json.message }}" }The response JSON is directly usable in downstream nodes for routing
Using in Make / Zapier
Use the HTTP module with the same POST configuration as above. The guaranteed JSON schema means you can map output fields directly without parsing.
Pricing
Plan | Price | Calls/month |
Free | $0 | 500 |
Starter | $19/mo | 10,000 |
Agency | $99/mo | 100,000 |
Marketplace Listings
RapidAPI: https://rapidapi.com/your-listing (coming soon)
Smithery: https://smithery.ai/your-listing (coming soon)
Deployment
Docker
docker build -t intake-triage-api .
docker run -p 8000:8000 -p 8001:8001 --env-file .env intake-triage-apiFly.io
fly launch
fly secrets set OPENAI_API_KEY=sk-... ADMIN_KEY=...
fly deployRunning Tests
pytest tests/ -vThis server cannot be deployed
Maintenance
Related MCP Connectors
Sort up to 1,000 texts into your own labels with a calibrated confidence per answer. No API key.
Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.
Build and manage AI-native customer support agents from Claude or any MCP client.
Calibrated judgments for text: yes/no probabilities, picks from your options, or scores.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceClassifies text into structured semantic units with authority, risk, and attention scores. Enables deterministic preprocessing for AI agents to filter and route content without using an LLM.27 PyPI10MIT- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform typed decisions (choice, score, noul) over text, emails, tickets, or JSON documents, with automatic language routing and source ranking across 100+ languages via a single forward pass.Apache 2.0
- AlicenseAqualityBmaintenanceEnables MCP clients to run fast, local, non-autoregressive System-1 decisions on text, including classification, triage, routing, and safety gating, via six typed tools with probabilistic outputs.208Apache 2.0
- AlicenseAqualityBmaintenanceEnables MCP-capable agents to score text for safety, quality, and compliance, returning pass/fail/review verdicts with calibrated confidence in under 500 ms.101,410 npmMIT