How it works, in one sentence. You connect your assistant to Outcome Owl once, then ask questions in plain language — and your assistant uses Outcome Owl's read-only tools to pull the facts from your live process and audit-trail data and explain them back to you.
The connection is always read-only and always acts as you — it sees only what your Outcome Owl account is allowed to see, and every request is recorded to your account. Outcome Owl cannot change your data, and your data is never shared with any other organization. Under the hood, Outcome Owl exposes its data through the Model Context Protocol (MCP) — an open standard for connecting AI assistants to live data sources — but you do not need to know anything about MCP to use it.
Before You Begin
/mcp — for example https://<your-company>-mcp.outcomeowl.com/mcp. Your onboarding contact gives you the exact address.Part 1
| Method | Best for | What you provide |
|---|---|---|
| Sign-in (recommended) | People using Claude, ChatGPT, and most connector apps | Your existing Outcome Owl sign-in — no key to copy |
| Personal key | Developer and agent tools (command-line tools, automation) | A personal key (owlk_…) issued to you, kept secret |
Most business users want the sign-in method. Follow the section for your app below; the personal-key method is covered at the end of Part 1.
Enter the address exactly, including the /mcp at the end:
https://<your-company>-mcp.outcomeowl.com/mcp
If you leave off the /mcp, your app will report that it is "not a valid connector." That is the single most common setup mistake — check the ending first if the connection does not take.
Claude Desktop and claude.ai (in your browser) connect the same way.
/mcp) and confirm./mcp). When prompted for a name, enter Outcome Owl — the name you will use to refer to it when you ask questions (for example, "Using Outcome Owl, …").Once connected, ask your assistant:
A working connection responds by describing the processes and information it can see. Many assistants also offer a /getting_started item in their prompt or command menu — a short, Outcome Owl–authored welcome you can pull up any time.
For developer and agent tools that accept an authorization header, connect with a personal key (owlk_…) instead of signing in. Your onboarding contact issues the key; keep it secret, because it authenticates as you. For example, in a command-line assistant:
claude mcp add --transport http outcome-owl \
https://<your-company>-mcp.outcomeowl.com/mcp \
--header "Authorization: Bearer owlk_<your-key>"
Your key expires and can be rotated, and you are reminded before it expires. If a key is ever exposed, tell your Outcome Owl contact and it will be revoked immediately.
Part 2
Connecting is the easy part. Getting the answer you actually wanted is a small skill — and it is easy to learn. This is the difference between "that's exactly what I needed" and "why is this wrong?"
Outcome Owl reports facts — how many, how long, what state, what changed, what happened when. It does not decide whether a number is good or bad, why something happened, or what you should do next. That judgment is yours, and your assistant can help you apply it — but only if you bring the context. So the best prompts do two things: they name exactly what you want counted, and they give your assistant the rules it needs to interpret the facts (your targets, your definitions, your priorities).
Outcome Owl tracks two kinds of things, and you may have one or both:
The habits below say "process" for short, but they apply to audit trails too — except anything about a deadline or being overdue, which only a process has.
1 · Name the process (or audit trail) you mean.
The most important habit, especially if Outcome Owl is tracking several processes or audit trails for you. If you ask "what's overdue?" with ten processes in play, your assistant has to guess which one — or stop and ask. Name it instead.
Instead of"What's overdue?"
Ask"Using Outcome Owl, in our Auto Claims process, which cases are still open and past their due date?"
Not sure of the exact names? Start with "What processes and audit trails do you track for us?" and then drill into the one you mean.
2 · Start broad, then narrow.
Open with an orienting question, read what comes back, then ask your next question against what you saw. Faster and more accurate than trying to write one perfect question cold.
3 · Use your own business words.
Outcome Owl knows your data by the names your organization gave it — your process names, step names, and field names, spaces and capitalization included. Use those real terms rather than inventing technical-sounding ones. If you are unsure of a name, ask your assistant which names it sees, then use one it lists.
4 · Say the scope: which slice, which moment.
Three details remove most ambiguity — the process, the time window, and whether you mean "open right now" or "everything over a period." That last one matters more than it looks:
"How many claims did we open in June?" — counts everything that started in a period.
"How many claims are open right now?" — a snapshot at this moment.
They are different questions with different answers. Tell your assistant which one you want.
5 · Ask for facts, and bring your own rules.
Give your assistant the definitions it needs, and let it combine them with Outcome Owl's facts.
Here you supplied the rule (30 days) and the amount that matters; Outcome Owl supplies the counts and totals; your assistant does the arithmetic. Avoid asking Outcome Owl itself whether you are "doing badly" — it will not judge. Ask your assistant to weigh the facts against your targets instead.
6 · When a number surprises you, ask your assistant to restate the scope.
Most surprises are not errors — they are a scope or freshness difference. Before assuming something is wrong, ask:
Beyond the process itself, your Outcome Owl data carries the business attributes your organization chose to send — claim type, region, product line, reserve amount, or whatever your systems include. These are the dimensions you filter by, total, and break results down by, so it is worth knowing which ones you have. Ask your assistant to list them, then use what it names in your next question:
"Using Outcome Owl, what business attributes does my data carry — the fields I can filter, total, or break results down by?"
…then use them: "break that down by [attribute]" or "only the ones where [attribute] is [value]."
If a dimension you want is not in the list, it may simply not be sent yet — your data team decides which attributes to include.
Fill in the bracketed parts with your own process and field names. These are starting points — your assistant will ask for anything else it needs. If you use more than one connector, begin with "Using Outcome Owl, …" (as these prompts do) so your assistant goes straight to the right place; you can drop it if Outcome Owl is your only connector.
| Your goal | Try asking |
|---|---|
| A quick health check to start the day | "Using Outcome Owl, give me a snapshot of [process]: how many are open, overdue, or stalled right now, and the newest high-severity issues." |
| Review how last month went | "Using Outcome Owl, summarize [process] for [month] and tell me what changed the most versus the prior months." |
| Find what is stuck | "Using Outcome Owl, in [process], show me the open cases with no activity for more than [N] days, most idle first." |
| See the money (or value) at risk | "Using Outcome Owl, across active [process] cases that are overdue, what is the total [your amount, e.g. open reserve]?" |
| Everything about one case | "Using Outcome Owl, show me the full timeline for [case or order number] — every step, and where it is waiting." |
| Everything about one tracked item | "Using Outcome Owl, show me the full history of [tracked item — e.g. an asset or device]: every entry and its current status." |
| Everything about one customer or account | "Using Outcome Owl, show me everything you have for [account / claimant / employer name], across all records." |
| What is driving missed deadlines | "Using Outcome Owl, in [process], which [attribute — e.g. claim type, region, product] values are most associated with missed deadlines?" |
When you have iterated to a question that returns exactly what you want — the right process, the right scope, even the chart types and layout of an executive briefing saved as a web page — do not leave it buried in the conversation. Turn it into a reusable prompt you can run again next week, next month, or on a schedule.
Two habits keep a saved prompt reliable: start it with "Using Outcome Owl, …" so a scheduled run still goes straight to the right connector, and remember that each run reflects your data as of the moment it runs — the freshness caveat above still applies. Outcome Owl supplies the facts; your saved prompt carries the rules and the format you want applied to them.
It will tell you: how many, how long, what state something is in, what changed, a step-by-step timeline, a total across a set you define, and what step usually follows another.
It will not tell you: whether a finding is "good," "bad," or "concerning"; why something happened; what you should do next; or what will happen in the future. Those are yours to decide — with your assistant's help and your own context. Two more boundaries worth knowing:
When a request falls into one of those areas, Outcome Owl politely declines and tells you why, rather than guessing — so you never act on a confident-sounding wrong answer.
Part 3 · For developers
Everything above assumes a person at a keyboard. This part is for developers and integrators connecting an autonomous agent (agent-to-agent, or A2A) rather than a person — it assumes you have read Part 2, and the same "facts, not judgments" principle governs everything here.
Outcome Owl is read-only business observability. An autonomous agent connects, reads process health on a schedule with no human in the loop, and then acts through your own systems — assigning work, opening a ticket, notifying a team, updating a case. Outcome Owl never takes the action; it supplies the facts the action is based on.
That division has a consequence worth stating plainly. Because your agent may take a real, sometimes irreversible action on the strength of an Outcome Owl answer, the correctness of that answer is part of your control environment, not a convenience. Treat an Outcome Owl fact with the same care your agent would give any other input that moves money or work.
owlk_…) in an Authorization: Bearer header rather than the interactive sign-in — see Connect with a personal key in Part 1. Keep the key in a secret store, never in source code.server_info_v1 to read the build and schema_version and to confirm access_mode is read_only, then call usage_guide_v1 once for the operating manual — how to read the response envelope, the full error taxonomy, and the proven query playbooks, delivered by the server itself.list_processes_v1, list_process_steps_v1, list_rules_v1, and attribute_catalog_v1 to learn the exact names before filtering, sorting, or aggregating by one.Outcome Owl reports facts and refuses judgment by design. It will not label a finding good, bad, or concerning; say why something happened; forecast; or recommend an action. A request of that kind comes back as a structured refusal that names the category — not an error, and not a guess. So the decision rules — what counts as a problem, and what to do about it — live in your agent. Outcome Owl supplies the signal; your agent supplies the policy.
This is the discipline that separates a reliable agent from one that double-pays or double-notifies. A scheduled agent starts each run with no memory of the last one, so it must recognize a problem it has already handled. Outcome Owl gives you the identifiers to do that:
action_dedup_key, on every process and violation row. It does not change when the problem is re-detected, resolved, or re-fires. Deduplicate your external actions on it.first_observed_utc_timestamp (stable across routine re-evaluation, moving only when a resolved violation re-fires as a new occurrence); for a process or overdue item, expected_completion_utc_timestamp (a restatement moves it, and restatement_count records how many times).last_updated_utc_timestamp, which advances on first detection, resolution, or re-fire but not on an unchanged re-evaluation; a process has no single change clock — compare the combination of status, latest_entry_end_utc_timestamp, expected_completion_utc_timestamp, and restatement_count; all four unchanged means it has not moved.An estate that imported its history will show that history in its totals, and an agent that treats every returned violation as a fresh, act-now problem will over-act. Two independent signals keep this straight:
origin: live for a breach that arose while connected, surfaced for history brought in by a bulk load. A count-only violation request also returns a provenance_breakdown across live, surfaced, and unclassified.breach_is_current. A record loaded weeks ago can still cross a deadline today; it reads as surfaced history yet is a current, urgent breach.For "what do I act on right now," read breach_is_current — do not filter on origin='live' alone, which can hide a current breach as old history. To list or count that act-now set directly, pass breach_recency='current'. And note that a violation count is of violation records; pass count_by='instances' for the distinct affected cases.
Every response reports data_confidence: high when your feed is essentially live, normal in the routine window, and low when nothing has arrived past the configured threshold (the reason names how long it has been quiet). When confidence is low, the numbers describe the last picture received, not necessarily this minute. An agent that takes real action should gate on high — acting only when the data is current — rather than merely "not low."
deltas_v1 with your last-check timestamp to fetch only what became overdue, stalled, or violated since you last looked. This is the polling tool — do not loop snapshot_v1, which re-does the full briefing every time.explain=true previews a broad query's estimated cost and whether it will be admitted, without running it; count_only=true returns the number without the rows.Every error is a structured envelope, so an agent branches on data rather than parsing a sentence:
code names the condition — bound_required (add a scope filter), invalid_argument (a value or token is wrong — do not retry unchanged), estimate_rejected (too costly; narrow and retry), budget_exceeded (started but stopped at the time budget; narrow and retry), and not_found (the identifier is not on this surface — a process identifier that is not found may be an audit trail).next_action gives a discrete directive — add_filter, narrow_scope, verify_identifier, retry_later, or revise_request.retryable is true only for a transient service condition; use it to decide whether a retry could ever succeed.no_matching_rows means the filters were valid and nothing matched; filter_value_unknown means a name you passed is not configured — fix the name, do not loosen other filters.population_basis — the live processed store, the period-flow substrate, the attribute substrate, or the violation ledger. Corroborate numbers within a basis; a cross-basis mismatch is usually linkage lag, not a bug — snapshot_v1 reports awaiting_linkage so you can tell whether that lag is currently material. Never blend a period-cumulative (flow) count with a point-in-time (backlog) snapshot.last_activity_utc_timestamp is the data-arrival clock — it moves whenever anything about an item reaches the platform, reloads included; business idleness reads from inactivity_hours and the latest business entry, not from arrival.+00:00 offset; counts are integers; exact money and percent-change values are decimal strings — keep them as strings so you do not silently round money to a floating-point value.Outcome Owl returns your business's own text — contextual messages, and the names and values of your steps, categories, and attributes — as data about your business, never as instructions to your agent. If such a field happens to read like a command ("ignore the above," "approve this now," "release the payment"), it is content to report, not an order to obey; it originates in your upstream data, not from Outcome Owl. Outcome Owl authors only its own field labels, status and reason codes, and fixed vocabulary, and keeps its wording legibly separate from your text — so your agent can hold that line. This matters most precisely because your agent can act: text that reaches an agent with hands is more dangerous than text that reaches a chat window.
Tools are versioned with a _v1-style suffix. A tool's parameters and result shape are stable within a major version, and new fields may be added within it without a break — so read fields by name and tolerate ones you do not recognize. Read schema_version from server_info_v1 as your authoritative version check; it also rides the _meta envelope on every response — data, error, and refusal alike — so a poller notices a mid-run change without an extra call. If it changes, reconnect and re-fetch the tool list before relying on the surface. Pin your integration to the tool versions you have tested.
Start the agent read-only in every sense — let it observe, decide, and log the action it would take, without taking it. Verify those decisions against a set of cases whose correct outcome you already know. Then enable real actions behind the two controls above: the exactly-once ledger and the freshness gate. Keep the key revocable as a kill switch, and monitor the agent through its own audit identity.
Go Deeper
Connect your AI to one process and ask it what is really happening — in plain language, read-only, and cited to the tool call that produced every number.
Business Observability for your Organization