Set content status
Mark a learner as not-started, started, completed or not-completed on content.
MCP tool thought_industries_write → set_content_status
Updates an existing learner through the bulk import with a status column, using the name already on the profile. status is not-started, started, completed or not-completed. completion_date records a date for the content, and the app accepts it only when no completion date exists for that learner and content. The change shows in the Content Actions Log as a status change. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| learner string required | string | Learner email or learner_id from list_learners. |
| content_id string required | string | Course or other content ID from list_courses. |
| status enum required | enum | not-started, started, completed or not-completed. |
| completion_date date | date | Completion date, only when none is recorded yet. |
tools/call
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "thought_industries_write",
"arguments": {
"operation": "set_content_status",
"arguments": {
"learner": "learner",
"content_id": "content_8c41d2",
"status": "not-started"
}
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"learner": "tom.becker@example.com",
"content": "Safety basics",
"status": "completed",
"completion_date": "2026-10-14T00:00:00.000Z"
},
"isError": false
}