An inbox that knows
where things belong.
Identify intent, urgency and escalation requests. Give every incoming message a useful next step.
What needs attention. Where it belongs. What happens next.
Give Siltstone the context. Ask 1000s of questions at once.
Get structured answers that set your business in motion.
{
"document": "We were charged twice and nobody has replied. Please get a manager to call me today.",
"threshold": 0.9,
"questions": [
{
"id": "billing_issue",
"type": "bool",
"ask": "Is there a billing issue?"
},
{
"id": "time_sensitive",
"type": "bool",
"ask": "Does this need attention today?"
},
{
"id": "escalation_requested",
"type": "bool",
"ask": "Is an escalation requested?"
},
{
"id": "team",
"type": "choice",
"ask": "Which team should handle it?",
"options": [
"billing",
"technical",
"sales"
]
}
]
}{
"threshold": 0.9,
"count": 4,
"flagged_for_review": 0,
"answers": [
{
"id": "billing_issue",
"type": "bool",
"value": true,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.98,
"no": 0.02
}
},
{
"id": "time_sensitive",
"type": "bool",
"value": true,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.98,
"no": 0.02
}
},
{
"id": "escalation_requested",
"type": "bool",
"value": true,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.98,
"no": 0.02
}
},
{
"id": "team",
"type": "choice",
"value": "billing",
"confidence": 0.98,
"margin": 0.97,
"review": false,
"probabilities": {
"billing": 0.98,
"technical": 0.01,
"sales": 0.01
}
}
]
}Request and response fields follow the API. This example is illustrative, not live inference. The response excerpt omits runtime metadata and timings.
{
"document": "Request: “Translate hello into French.” Routing rules: use the fast model for short translations. Use the reasoning model for multi-step analysis.",
"threshold": 0.9,
"questions": [
{
"id": "translation",
"type": "bool",
"ask": "Is this a translation request?"
},
{
"id": "reasoning_needed",
"type": "bool",
"ask": "Does it need multi-step reasoning?"
},
{
"id": "tools_needed",
"type": "bool",
"ask": "Does it need external tools?"
},
{
"id": "model",
"type": "choice",
"ask": "Which model fits these rules?",
"options": [
"fast",
"reasoning"
]
}
]
}{
"threshold": 0.9,
"count": 4,
"flagged_for_review": 0,
"answers": [
{
"id": "translation",
"type": "bool",
"value": true,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.98,
"no": 0.02
}
},
{
"id": "reasoning_needed",
"type": "bool",
"value": false,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.02,
"no": 0.98
}
},
{
"id": "tools_needed",
"type": "bool",
"value": false,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.02,
"no": 0.98
}
},
{
"id": "model",
"type": "choice",
"value": "fast",
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"fast": 0.98,
"reasoning": 0.02
}
}
]
}Request and response fields follow the API. This example is illustrative, not live inference. The response excerpt omits runtime metadata and timings.
{
"document": "Task: find duplicate files and report them. Proposed action: delete all matches. Policy: this task permits reading files only.",
"threshold": 0.9,
"questions": [
{
"id": "destructive",
"type": "bool",
"ask": "Is the proposed action destructive?"
},
{
"id": "within_scope",
"type": "bool",
"ask": "Is it within the requested scope?"
},
{
"id": "write_permitted",
"type": "bool",
"ask": "Does the policy permit writing?"
},
{
"id": "route",
"type": "choice",
"ask": "What should happen next?",
"options": [
"proceed",
"review"
]
}
]
}{
"threshold": 0.9,
"count": 4,
"flagged_for_review": 0,
"answers": [
{
"id": "destructive",
"type": "bool",
"value": true,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.98,
"no": 0.02
}
},
{
"id": "within_scope",
"type": "bool",
"value": false,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.02,
"no": 0.98
}
},
{
"id": "write_permitted",
"type": "bool",
"value": false,
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"yes": 0.02,
"no": 0.98
}
},
{
"id": "route",
"type": "choice",
"value": "review",
"confidence": 0.98,
"margin": 0.96,
"review": false,
"probabilities": {
"proceed": 0.02,
"review": 0.98
}
}
]
}Request and response fields follow the API. This example is illustrative, not live inference. The response excerpt omits runtime metadata and timings.
The intelligence layer for
whatever comes next.
Is this urgent? Is it relevant? Which model? Which team?
Your product makes these calls all day. Siltstone is a specialised model for answering them together, from the same context.
Ask 1000s of questions at once. The context is read once and reused across them, with answers selected from the choices you define.
See the request ↗The text is already there.
Make it useful to your software.
Identify intent, urgency and escalation requests. Give every incoming message a useful next step.
Check the task against your routing rules. Send straightforward work to a fast model and complex work to a reasoning model.
Evaluate proposed actions against the task and your policies. Let your application decide what proceeds and what needs review.
Filter search results. Tag conversations. Qualify requests. Check retrieved context.
Explore the examples ↑Send text and a set of questions. Get booleans, choices or scores, with model confidence for each answer.
No invented answers outside your choices.You define the valid options. Siltstone selects from them, with no free-text answer to hallucinate.
Confidence you can work with.Set review thresholds and validate them on your own workload.
You stay in control.Your application decides how each answer becomes an action.
{
"document": "We were charged twice. Please get a manager to call me today.",
"questions": [
{
"id": "urgent",
"ask": "Does this need attention today?"
},
{
"id": "team",
"ask": "Which team should handle this?",
"options": [
"billing",
"technical",
"sales"
]
}
]
}One request. Multiple questions.
Ready to connect to your workflow.
The API’s document field accepts your text context: emails, messages, rules and more.
Siltstone selects from your defined options. It can still choose incorrectly—use representative evaluations and review thresholds for your application.
Low input costs. Free output tokens.
Intelligence you can put to work across your business.
Start with the workflow you have in mind.
$0.042
per 1M input tokens$0Free
per 1M output tokensIndicative input pricing. Final rates and billing terms confirmed during early access.
Building Siltstone into a bigger operation?
Make it work
for your business.
Tell us about your volume, latency targets and deployment needs. We’ll work through the right setup and pricing with you.
Talk to the team ↗Bring a workflow, a set of questions, or your next idea.
Let’s put Siltstone to work.