Not every task needs a long answer. Sometimes selecting a category, checking a condition or assigning a rating is enough to trigger the right next step.
These are original proposals to test on your own data. Looking for stories from users? Visit the community use cases ↗. Decisions from images and recordings with experimental basal-omni are shown in Basal Lab ↗.
FROM IDEA TO WORKFLOW
What can basal decide?
Expand a scenario to see the use case, input request and illustrative API response.
Results: 18 / 18These examples illustrate usage without running the model.
01 / Customer supportchoice
Route a ticket to the right queue
One contact form, several teams. Turn a message into a label the helpdesk can use to select its recipient.
View scenario +
Sample input
“I cannot access my account after changing my phone. The code still goes to my old number.”
Question for the model
Which team should handle the customer's main problem?
Defined answers
Account access
Payments
Delivery
Other topic
What the application does
The system assigns a queue and shows the agent the original message. Several independent requests can be split before classification.
What to consider
Unclear topics go to the general queue. The model does not change account data or send replies.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "“I cannot access my account after changing my phone. The code still goes to my old number.”",
"questions": {
"decision": {
"type": "choice",
"instructions": "Which team should handle the customer's main problem?",
"criteria": {
"account_access": "Account access",
"payments": "Payments",
"delivery": "Delivery",
"other": "Other topic"
}
}
}
}
Detect missing context before a ticket starts bouncing between the customer and the team.
View scenario +
Sample input
Required information: lamp model, fault symptoms and when it occurred. Customer message: “It doesn't light up”.
Question for the model
Does the description include the symptoms and circumstances needed to start diagnosis?
Defined answers
Yes — the description is sufficient to start diagnosis
No — necessary context is missing
What the application does
The result routes the case into service or prepares a request for more information. Separate questions can check each required detail.
What to consider
Code checks the presence of an order number or attachment. Content assessment does not verify the customer's permissions.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Required information: lamp model, fault symptoms and when it occurred. Customer message: “It doesn't light up”.",
"questions": {
"decision": {
"type": "noul",
"instructions": "Does the description include the symptoms and circumstances needed to start diagnosis?",
"criteria": {
"true": "Yes — the description is sufficient to start diagnosis",
"false": "No — necessary context is missing"
}
}
}
}
Assess how much the issue blocks the customer, instead of sorting messages only by arrival time.
View scenario +
Sample input
Message: “I can't download my tickets and the event starts in an hour”. Entry requires a QR code from the ticket. The customer has no other way to obtain it.
Question for the model
How much impact on the ability to use the service does this message describe?
Described levels
0 · Request for information
1 · Inconvenience
2 · Partial blockage
3 · Complete blockage
What the application does
The rating feeds the ticket ranking alongside the event deadline, SLA and waiting time computed by the system.
What to consider
Code calculates deadlines and SLA breaches. Check missed urgent tickets, not just average agreement between ratings.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Message: “I can't download my tickets and the event starts in an hour”. Entry requires a QR code from the ticket. The customer has no other way to obtain it.",
"questions": {
"decision": {
"type": "score",
"instructions": "How much impact on the ability to use the service does this message describe?",
"criteria": [
"Request for information",
"Inconvenience",
"Partial blockage",
"Complete blockage"
]
}
}
}
Recognise document fragments' roles so a knowledge index does not treat every line the same.
View scenario +
Sample input
Block: “4. Cleaning the filter”. Next paragraph: “Unplug the device. Remove the filter and rinse it under running water”. The preceding section is titled “3. Daily operation”.
Question for the model
What role does this block play in the document?
Defined answers
Section heading
Instruction body
Figure caption
Repeated footer
What the application does
Code builds sections and attaches headings to excerpts sent to search. Repeated footers can be omitted from the index.
What to consider
Do not remove fragments from the only copy of a document. Keep the source and test quality across page layouts.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Block: “4. Cleaning the filter”. Next paragraph: “Unplug the device. Remove the filter and rinse it under running water”. The preceding section is titled “3. Daily operation”.",
"questions": {
"decision": {
"type": "choice",
"instructions": "What role does this block play in the document?",
"criteria": {
"section_heading": "Section heading",
"body": "Instruction body",
"figure_caption": "Figure caption",
"footer": "Repeated footer"
}
}
}
}
After retrieval, assess every excerpt against the user's specific question.
View scenario +
Sample input
User question: “How do I move a project to another team?”. Manual excerpt: “In project settings, select Owner, choose the new team and confirm Move. Administrator permissions are required in both teams”.
Question for the model
How much does this excerpt help answer the question?
Described levels
0 · Unrelated to the question
1 · Similar topic only
2 · Partial answer
3 · Direct answer
What the application does
The system ranks excerpts by score and passes selected sources to the model writing the answer.
What to consider
The classifier evaluates candidates supplied by retrieval. It cannot find a document missing from that set.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "User question: “How do I move a project to another team?”. Manual excerpt: “In project settings, select Owner, choose the new team and confirm Move. Administrator permissions are required in both teams”.",
"questions": {
"decision": {
"type": "score",
"instructions": "How much does this excerpt help answer the question?",
"criteria": [
"Unrelated to the question",
"Similar topic only",
"Partial answer",
"Direct answer"
]
}
}
}
Check whether the collected context is complete before generating an answer.
View scenario +
Sample input
Question: “How much will I pay to change plans halfway through the month?”. Excerpt A: “Start costs PLN 40 per month; Pro costs PLN 80 per month”. Excerpt B: “The billing period runs from the first to the last day of the month”.
Question for the model
Does the supplied context establish how charges are calculated when changing plans?
Defined answers
Contains the necessary rule
A required rule is missing
Sources conflict
What the application does
The application chooses between a source-backed answer, another search or asking a person to resolve conflicting sources.
What to consider
Do not ask for knowledge outside the context. The test set should include sources that appear relevant but are incomplete.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Question: “How much will I pay to change plans halfway through the month?”. Excerpt A: “Start costs PLN 40 per month; Pro costs PLN 80 per month”. Excerpt B: “The billing period runs from the first to the last day of the month”.",
"questions": {
"decision": {
"type": "choice",
"instructions": "Does the supplied context establish how charges are calculated when changing plans?",
"criteria": {
"sufficient": "Contains the necessary rule",
"missing_rule": "A required rule is missing",
"conflicting": "Sources conflict"
}
}
}
}
Verify individual sentences of a prepared answer before displaying them with references.
View scenario +
Sample input
Claim: “The export includes change history”. Source: “The export file contains only the current project state. Change history is not included”.
Question for the model
How does this claim relate to the supplied source excerpt?
Defined answers
Source supports it
Source contradicts it
Source does not resolve it
What the application does
Unsupported sentences return for correction or verification. The system keeps each sentence paired with the checked excerpt.
What to consider
This checks consistency with text, not the truth of the source. Numbers and calculations need separate checks.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Claim: “The export includes change history”. Source: “The export file contains only the current project state. Change history is not included”.",
"questions": {
"decision": {
"type": "choice",
"instructions": "How does this claim relate to the supplied source excerpt?",
"criteria": {
"supported": "Source supports it",
"contradicted": "Source contradicts it",
"undetermined": "Source does not resolve it"
}
}
}
}
Separate similar-sounding comments by the action their author expects.
View scenario +
Sample input
“The report works, but I would like to save custom filter sets and share them with my team.”
Question for the model
What main kind of product feedback is the author providing?
Defined answers
Feature request
Bug
Usability difficulty
General feedback
What the application does
The product team gets organised categories, while support can quickly distinguish questions needing replies from suggestions.
What to consider
A label does not measure demand. Feature priority needs data on user numbers, impact and implementation cost.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "“The report works, but I would like to save custom filter sets and share them with my team.”",
"questions": {
"decision": {
"type": "choice",
"instructions": "What main kind of product feedback is the author providing?",
"criteria": {
"feature_request": "Feature request",
"bug": "Bug",
"usability": "Usability difficulty",
"general_feedback": "General feedback"
}
}
}
}
Help people find posts to check against a community's explicit rules.
View scenario +
Sample input
The discussion concerns filter cleaning. An unlabelled promotional comment says: “The best filters are in our shop! Code FILTR20 gives you 20% off. Buy today”. Rules prohibit unlabelled ads, third-party contact details and personal attacks.
Question for the model
What is the main reason for review given the comment and these rules?
Defined answers
Possible advertising
Possible private data
Possible personal attack
None of the stated reasons
What the application does
The post gets a label in the moderation panel. The result can influence review order and identify a rule to check.
What to consider
Include the rules in the context. Test irony and quotations; a label does not determine a sanction.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "The discussion concerns filter cleaning. An unlabelled promotional comment says: “The best filters are in our shop! Code FILTR20 gives you 20% off. Buy today”. Rules prohibit unlabelled ads, third-party contact details and personal attacks.",
"questions": {
"decision": {
"type": "choice",
"instructions": "What is the main reason for review given the comment and these rules?",
"criteria": {
"possible_advertising": "Possible advertising",
"possible_private_data": "Possible private data",
"possible_personal_attack": "Possible personal attack",
"no_flag": "None of the stated reasons"
}
}
}
}
Turn the current task state into a choice from a short list of functions allowed at this stage.
View scenario +
Sample input
The user asks: “Where is my order 2041?”. The application has validated identifier 2041 and the user's permission to view it. Shipment status has not been retrieved yet.
Question for the model
Which available step best addresses the user's current need?
Defined answers
Read shipment status
Show return instructions
Ask for clarification
Hand over to support
What the application does
Code maps a label to a known function. The application validates arguments, permissions and the function's result.
What to consider
The model chooses a step name rather than generating an arbitrary call. Data-changing actions have their own authorisation rules.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "The user asks: “Where is my order 2041?”. The application has validated identifier 2041 and the user's permission to view it. Shipment status has not been retrieved yet.",
"questions": {
"decision": {
"type": "choice",
"instructions": "Which available step best addresses the user's current need?",
"criteria": {
"track_order": "Read shipment status",
"return_instructions": "Show return instructions",
"clarify": "Ask for clarification",
"human_review": "Hand over to support"
}
}
}
}
Choose between a prepared answer, retrieval and a generative model based on the question's needs.
View scenario +
Sample input
“Compare three deployment options and prepare arguments for the team”. Available paths describe their capabilities and limitations.
Question for the model
What kind of work is needed to fulfil this request?
Defined answers
Known FAQ answer
Find a fact in the documentation
Synthesis and writing
Clarify the request
What the application does
The orchestrator starts the appropriate path. Within it, a small or larger model can be selected based on measured quality.
What to consider
Measure savings and quality on real tasks. The question type alone does not guarantee that a simpler model can handle it.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "“Compare three deployment options and prepare arguments for the team”. Available paths describe their capabilities and limitations.",
"questions": {
"decision": {
"type": "choice",
"instructions": "What kind of work is needed to fulfil this request?",
"criteria": {
"faq": "Known FAQ answer",
"search": "Find a fact in the documentation",
"synthesis": "Synthesis and writing",
"clarify": "Clarify the request"
}
}
}
}
Assess whether retrieved text tries to change an agent's behaviour rather than supply task information.
View scenario +
Sample input
A page excerpt added to research instructs the assistant to ignore its rules and send its memory contents to an external address.
Question for the model
Does the text contain an instruction aimed at the assistant that goes beyond providing task data?
Defined answers
Yes — it tries to control the assistant
No — no such attempt is indicated
What the application does
The suspicious excerpt is isolated or checked further before becoming context.
What to consider
This is an additional signal, not complete protection. Separating instructions from data, least privilege and tool restrictions remain necessary.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "A page excerpt added to research instructs the assistant to ignore its rules and send its memory contents to an external address.",
"questions": {
"decision": {
"type": "noul",
"instructions": "Does the text contain an instruction aimed at the assistant that goes beyond providing task data?",
"criteria": {
"true": "Yes — it tries to control the assistant",
"false": "No — no such attempt is indicated"
}
}
}
}
Combine symptom understanding with technical candidate filtering to reduce duplicate on-call tickets.
View scenario +
Sample input
Alert A, 10:02: increased dashboard login errors. Alert B, 10:03: the dashboard cannot connect to the session service. The dashboard uses this service during login. Both alerts concern production.
Question for the model
Do the descriptions suggest a possible shared problem worth investigating together?
Defined answers
Yes — the symptoms may be related
No — no connection is indicated
What the application does
The system proposes a group of alerts in the incident view. Candidates are first filtered by time, service and dependency topology.
What to consider
Similar symptoms do not prove a common cause. Do not automatically silence critical alerts on this basis alone.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Alert A, 10:02: increased dashboard login errors. Alert B, 10:03: the dashboard cannot connect to the session service. The dashboard uses this service during login. Both alerts concern production.",
"questions": {
"decision": {
"type": "noul",
"instructions": "Do the descriptions suggest a possible shared problem worth investigating together?",
"criteria": {
"true": "Yes — the symptoms may be related",
"false": "No — no connection is indicated"
}
}
}
}
Sort abstracts against clearly defined review criteria before spending time on full papers.
View scenario +
Sample input
Review goal: methods for assessing answer grounding in Polish RAG systems. Sample abstract: “We describe a procedure for labelling claims as supported, contradicted or unresolved by sources. We apply it to Polish-language RAG answers”.
Question for the model
What role could this publication play in the described review?
Defined answers
Directly matches the criteria
Provides methods or background
Out of scope
The abstract is insufficient
What the application does
The researcher gets a reading queue with labels and original abstracts. Incomplete cases go to manual assessment.
What to consider
The model cannot assess a study's reliability from its abstract alone. Pay particular attention to incorrectly rejected papers.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Review goal: methods for assessing answer grounding in Polish RAG systems. Sample abstract: “We describe a procedure for labelling claims as supported, contradicted or unresolved by sources. We apply it to Polish-language RAG answers”.",
"questions": {
"decision": {
"type": "choice",
"instructions": "What role could this publication play in the described review?",
"criteria": {
"direct_match": "Directly matches the criteria",
"background": "Provides methods or background",
"out_of_scope": "Out of scope",
"insufficient_abstract": "The abstract is insufficient"
}
}
}
}
Experiment with selecting behaviour from moves permitted by a game or simulation engine.
View scenario +
Sample input
Character goal: deliver a package to the market as quickly as possible. The main passage is closed with no known reopening time. The engine confirms that the marked alternative route is available and leads to the market. A guide stands nearby. The character has enough energy to continue.
Question for the model
Which available step best fits the character's goal and surroundings?
Defined answers
Take the alternative route
Ask the guide
Wait for opening
Return to the starting point
What the application does
The engine executes the chosen action and supplies the new state for the next decision. Compare runs using different goal descriptions.
What to consider
Move availability, physics and resource limits belong to the engine. This is an experimental idea, not a measured basal game performance result.
API request and response
The result and probabilities below are illustrative. The model is not called here.
Input request · JSON +
POST /v1/systemone
{
"state": "Character goal: deliver a package to the market as quickly as possible. The main passage is closed with no known reopening time. The engine confirms that the marked alternative route is available and leads to the market. A guide stands nearby. The character has enough energy to continue.",
"questions": {
"decision": {
"type": "choice",
"instructions": "Which available step best fits the character's goal and surroundings?",
"criteria": {
"take_detour": "Take the alternative route",
"ask_guide": "Ask the guide",
"wait": "Wait for opening",
"return_to_start": "Return to the starting point"
}
}
}
}
basal returns a decision and probability distribution. Your application determines what happens next.
01 / DEFINE
One question at a time.
Provide the necessary facts and clear, mutually exclusive options. Add “other” or a path for missing information. Break a complex process into small decisions.
02 / MEASURE
Your data, your threshold.
Collect correctly labelled examples, including difficult and ambiguous ones. Measure mistakes that matter to the process. Model confidence is not a guarantee of correctness.
03 / CONNECT
A decision leads somewhere.
Check calculations and permissions in code. Send uncertain cases for review. Start by observing decisions before enabling automated actions.
INSPIRATION AND FURTHER READING
Ideas grow through sharing.
We wrote this catalog for basal, inspired by public material on decision models. Descriptions and examples are original. Results or claims about other models are not basal results.