The decision layer for your data
The decision API for agents.
Ask questions. Score text, PDFs, CSVs and URLs.
Get structured answers with evidence.
+ evidence
Your questions and reference
Uses only your supplied material. Links inside rows are not fetched. Input and results aren’t saved here. Download what you need before leaving.
Claude Code · Codex · your own agent
Give your agent the connection.
Paste this into Claude Code, Codex or another coding agent. The guide handles the request format and the review step.
Read https://tenzetta.com/agent.md and connect Tenzetta to this project. Use TENZETTA_API_KEY from my environment; never print or commit it. Ask what data and decision I want, show me the proposed criteria, then run only after my review.
API key required for agent calls. Get access →
Make a real call.
POST /api/v1/analyzeSix sample demo requests. Sort real buyers from browsers, check company size, and count the pipeline worth calling today.
{
"items": [
{
"id": "Northgate Logistics",
"data": {
"Company": "Northgate Logistics",
"Employees": "420",
"Industry": "Logistics",
"Message": "We're replacing our routing vendor before our contract ends in March. Please send pricing for 60 dispatcher seats and book a demo next week."
}
},
{
"id": "Brightleaf Dental",
"data": {
"Company": "Brightleaf Dental",
"Employees": "35",
"Industry": "Healthcare",
"Message": "Just curious what you do. Maybe we'll look at this later in the year."
}
},
{
"id": "Coastline Credit Union",
"data": {
"Company": "Coastline Credit Union",
"Employees": "1200",
"Industry": "Financial services",
"Message": "Our procurement team is running an RFP this quarter. Please send your security documentation and pricing."
}
},
{
"id": "Pixel & Pine Studio",
"data": {
"Company": "Pixel & Pine Studio",
"Employees": "8",
"Industry": "Design",
"Message": "I'm a student researching tools for a class assignment."
}
},
{
"id": "Halcyon Health",
"data": {
"Company": "Halcyon Health",
"Employees": "650",
"Industry": "Healthcare",
"Message": "We have budget approved for Q4 and our VP wants a proposal by Friday."
}
},
{
"id": "Tidewater Manufacturing",
"data": {
"Company": "Tidewater Manufacturing",
"Employees": "280",
"Industry": "Manufacturing",
"Message": "Downloaded your whitepaper. No specific project right now."
}
}
],
"fields": [
{
"key": "buying_stage",
"label": "Buying stage",
"question": "Based only on the lead's message, what buying stage are they in?",
"type": "choice",
"options": [
{
"label": "Active purchase",
"meaning": "The message shows at least one purchase signal: budget, an RFP, a pricing or proposal request, a deadline, or replacing a vendor.",
"not_for": "General interest or a content download with no purchase step.",
"examples": [
"Please send pricing for 60 seats",
"Our RFP closes this quarter"
]
},
{
"label": "Early research",
"meaning": "The message shows interest but no purchase signal.",
"not_for": "A message with a budget, deadline, RFP or pricing request.",
"examples": [
"Downloaded your guide",
"Maybe later this year"
]
},
{
"label": "Not a buyer",
"meaning": "The sender is not buying for a business, for example a student.",
"not_for": "A business exploring options, even with no timeline.",
"examples": [
"I'm a student",
"Looking for a job"
]
}
]
},
{
"key": "mid_market",
"label": "100+ employees",
"question": "Does the company have at least 100 employees?",
"type": "yes_no",
"source_column": "Employees",
"comparison": {
"operator": "gte",
"value": 100
}
}
],
"summaries": [
{
"key": "active_leads",
"label": "Leads actively purchasing",
"operation": "count",
"where": {
"field_key": "buying_stage",
"equals": "Active purchase"
}
},
{
"key": "mid_market_share",
"label": "Share of leads with 100+ employees",
"operation": "percentage",
"where": {
"field_key": "mid_market",
"equals": true
}
},
{
"key": "by_step",
"label": "Leads by next step",
"operation": "count",
"group_by_field": "_lane"
}
],
"routing": {
"lanes": [
{
"label": "Call today",
"when": [
{
"field_key": "buying_stage",
"operator": "eq",
"value": "Active purchase"
},
{
"field_key": "mid_market",
"operator": "eq",
"value": true
}
]
},
{
"label": "Nurture",
"when": [
{
"field_key": "buying_stage",
"operator": "in",
"value": [
"Active purchase",
"Early research"
]
}
]
}
],
"otherwise": "Disqualify",
"review_below": 0.8
}
}A workflow, not another blank chat
From a pile of information
to a repeatable decision.
Decide what matters once. Apply it consistently across the material you bring.
Bring your material
Paste text or URLs, upload a readable PDF, or drop in your spreadsheet rows. Your original data stays attached.
Make the criteria yours
Choose a goal and tap what matters. Review the proposed questions and rating rubric before anything is scored.
Take the answer with you
Inspect evidence, sort results, drill into calculations and export to CSV or JSON. Reuse the same criteria next time.
Built around the decision
One engine. Your kind of work.
Know who fits before you reach out.
Operations & procurementPut every vendor through the same review.
Product & customer teamsTurn feedback into something you can act on.
Answers you can inspect
The “why” travels
with the answer.
A useful score needs a definition and a source. Every run keeps both close to the result.
Explore the result format →- Same criteria, every item
- Review the questions and rubric before a run. Save them locally to evaluate the next dataset on the same basis.
- A path back to the source
- Open an answer to see its supporting passages. Keep original columns, duplicate rows and IDs when exporting.
- Unknown means unknown
- Missing evidence is visible. Failed rows stay in the result. Neither quietly becomes a reassuring score.
- Math you can trace
- Counts, percentages and totals are computed in code, with contributing rows and incomplete results disclosed.
For humans and the agents they build with
Try it here.
Put it in your workflow.
Use the browser to shape your criteria, then take the exact request into your code or MCP client. Same questions. Same result structure.
A few practical answers
Before you start.
Do I have to write all the questions?
No. Pick a goal and tap the criteria that matter. Tenzetta proposes questions and a rubric for you to review. You can also write your own questions.
Does it find new companies or search the whole web?
This workflow evaluates what you supply. It can read explicit public URLs, but it doesn’t search the wider web or automatically visit links inside spreadsheet cells.
What can I upload?
CSV and TSV tables, readable PDFs and text files. You can also paste text or one public URL per line. Current limits are 500 items per run and 4 MB per file; see the developer guide for all limits.
Can I use it from an agent today?
Yes, with an operator-issued API key, through REST or the analyze_items MCP tool. Access is currently for approved lab operators; self-service customer keys and accounts are not available yet.
Are my uploads and results saved?
This analysis workflow does not save uploads or results for later retrieval. Download the results before leaving. Processing uses external AI services; this is not a zero-retention or compliance guarantee.
What does a score mean?
A score is a level in the rubric you reviewed. It is not a probability of a sale or business outcome. Missing evidence can return Unknown, and service failures are shown explicitly.