Conversational task
A coached chat tuned by the engagement levers in conversationSpec.
What you'll build
A kid sits down with the Sprout app and gets into a coached chat: a daily journal, an explain-it-back, a quick debate, a language practice session. Sprout asks, listens, reflects, doesn't push past what the kid wants to share. The transcript becomes input for downstream analysis if you want it.
The artifact is a task in the kid app with runMode: "conversation", tuned by the engagement levers in conversationSpec.
Pieces you'll combine
- Task with
runMode: "conversation": the kid-facing chat. conversationSpec: the lever cluster that shapes the conversation.
Build it
One call, but every field matters. The conversationSpec object is where the personality of the conversation lives.
Shell
task.create({
name: "<chat name>",
assignChildIds: ["<kidId>"],
runMode: "conversation",
conversationSpec: {
goalType: "share", // share | explain | debate | practice
guidance: `<What Sprout should ask about. Be specific.
Topic, sequence, vocabulary cap, tone.
1000 char max.>`,
minResponses: 3, // anti-bounce floor
effort: "balanced", // lenient | balanced | strict
grading: "engagement", // engagement | correctness
dailyTarget: 1 // submissions per day toward completion
},
scheduleSpec: {
taskType: "onetime",
oneTimeDate: "2026-05-24",
startMinutes: 480 // minutes from midnight (480 = 8am)
},
rewardSpec: { gems: 3 }
})
# Returns { taskId }The levers in conversationSpec:
goalType:share= reflective journal,explain= Feynman-style teach-back,debate= argue a side,practice= language/social practice.guidance: the load-bearing field. Specific topics plus how Sprout should run the chat. Be concrete; vague guidance produces vague conversations.minResponses: floor on kid responses before the task can complete. Anti-bounce.effort: how hard Sprout pushes for more depth.lenientaccepts brief answers;strictprobes.grading:engagementgrades on participation;correctnessgrades on accuracy (for teach-back).dailyTarget: how many submissions count toward completion when run on a cadence.
When to use it
- The kid is reflecting, teaching back, debating, practicing. Anything where they talk and Sprout listens.
- The transcript will feed downstream analysis (Reports and briefs).
- Anti-pattern: a fixed-shape activity. Use Interactive canvas.
- Anti-pattern: a parent-facing brief. Use Reports and briefs.
Tools touched
task.create,task.update: author and adjust the task.task.describe: read the transcript back after completion.
Recommended skills
Drop these into your library to compose with this pattern.
Seen in walkthroughs
Solar system learning loop Chore + photo proof
Related patterns
- Interactive canvas: when the kid should click, not talk.
- Reports and briefs: pair to analyze the transcript and post a card.
Was this page helpful?