Work a case with the copilot
Ask for a fact that never touches a model, have the copilot prepare a follow-up it has already validated, and confirm it under your own authority — with the AI’s contribution cited, not hidden.
The useful question to ask a case copilot is not “what do you think” but “what is true, and can you get the next step ready for me”. The copilot answers the first from verified facts, and prepares the second for you to confirm.
- Ask for a factanswered from the system of record, no model call
- The copilot prepares the follow-upvalidated now, and it expires
- You confirm ityour permissions, your name on the recorda person
Ask for a fact
No model callcurl -X POST "$BASE/v1/servicing/cases/1001/cookie/turns" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender" \
-H "Idempotency-Key: turn-1001-last-payment" \
-H "Content-Type: application/json" \
-d '{ "question": "When was the last successful payment?" }'{
"turnId": 5001,
"threadId": 501,
"answer": {
"family": "LAST_SUCCESSFUL_PAYMENT",
"kind": "VERIFIED_FACT",
"text": "The last successful payment was $517.14, effective March 12, 2027, posted the same day.",
"sourceRefs": [{ "type": "LMS_PAYMENT", "ref": "9013" }],
"asOf": "2027-05-01T16:55:02Z"
}
}The question classifies into a closed family — no provider call, no synthesis, available even when the model is down. The label says exactly what you’re holding: a verified fact with its source and as-of time.
Have the copilot prepare the follow-up
Prepared, not donecurl -X POST "$BASE/v1/servicing/cases/1001/cookie/turns" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender" \
-H "Idempotency-Key: turn-1001-prepare-followup" \
-H "Content-Type: application/json" \
-d '{ "question": "Prepare a follow-up task to check the promise after its first commitment date." }'{
"turnId": 5002,
"threadId": 501,
"answer": {
"family": "PREPARE_FOLLOW_UP_TASK",
"kind": "PROPOSED_ACTION",
"proposal": {
"proposalRef": "prop-1001-7Q2",
"taskTypeCode": "PROMISE_FOLLOW_UP",
"dueAt": "2027-05-09T16:00:00Z",
"priority": "MEDIUM",
"summary": "Verify first promise commitment ($260.00 due May 8) against posted payments.",
"expiresAt": "2027-05-01T17:25:02Z"
}
}
}Preparation resolves the allowed task types, queues, and due-date rules server-side. The label is PROPOSED_ACTION — nothing has changed business state, and the proposal expires rather than lingering until it’s stale.
Confirm under your own authority
Your authority, not the copilot'scurl -X POST "$BASE/v1/servicing/cases/1001/follow-up-tasks" \
-H "Authorization: Bearer $TOKEN" \
-H "LendEasy-Tenant: demo-lender" \
-H "Idempotency-Key: confirm-prop-1001-7Q2" \
-H "Content-Type: application/json" \
-d '{ "proposalRef": "prop-1001-7Q2" }'{ "taskId": 2005, "taskTypeCode": "PROMISE_FOLLOW_UP", "status": "OPEN", "dueAt": "2027-05-09T16:00:00Z" }The command is the ordinary task-creation operation, run under your exact permissions — confirmation revalidates the proposal against current facts, and a stale or expired one is refreshed, never submitted as-was. The audit record names you as the submitter and cites the copilot’s session as the cause: the AI’s contribution is visible, not laundered into a human action.