Assistant tool

taskfamily_add_event

Adds an event to the TaskFamily family calendar, posts it in the family chat and notifies the family. Requires the calendar turned on.

Updated November 6, 2026

Website
TaskFamily · taskfamily.com
Class
Sensitive write
Returns
id, title, starts_at

Add an event to your family calendar. TaskFamily posts it in the family chat and notifies your family. Needs the family calendar turned on; at most 20 events an hour. Pass an idempotency_key to avoid adding the same event twice.

Where you can call it

Inputs

ArgumentTypeNotes
titlestring ≤120
starts_atISO 8601 date-timeStart time, ISO 8601.
ends_at optionalISO 8601 date-time
all_day optionalboolean
notes optionalstring ≤500
idempotency_key optionalstring ≤80Repeat the same key to avoid adding the same event twice.

Example request

POST https://onelifevibe.com/mcp

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "taskfamily_add_event",
    "arguments": {
      "title": "Swimming lesson",
      "starts_at": "2026-11-14T10:00:00-08:00",
      "ends_at": "2026-11-14T11:00:00-08:00",
      "idempotency_key": "swim-2026-11-14"
    }
  }
}

Other TaskFamily tools

What it does

taskfamily_add_event writes one event to the family calendar on TaskFamily (taskfamily.com), a site for chores, rewards kids choose, a private family chat and AI helpers. You pass a title and a start time, and optionally an end time, an all-day flag and notes. TaskFamily then posts the event in the family chat and notifies the family, so the write reaches other people, not just the person who asked.

That reach is why it is classed as a sensitive write: the assistant asks the person before every call, not once per conversation.

The family calendar must be turned on for the family. A successful call returns the new event's id, title and starts_at.

When an assistant should call it

Use it when someone asks to put something on the family calendar: a swim lesson, a dentist appointment, a school event, a trip. It is for events. Chores, rewards and approvals live in the task tools on the same site, such as taskfamily_list_tasks and taskfamily_list_pending_approvals.

Confirm the details in the conversation first: title, start time, end time if there is one, and any notes. One confirmation covers one call, so confirm again if the person changes a detail.

If the person is unsure whether the event already exists, call taskfamily_list_upcoming_events before writing. That avoids a second post in the family chat.

Inputs and an example call

title is required, up to 120 characters. starts_at is required and takes an ISO 8601 date-time with an offset, for example 2026-11-14T10:00:00-08:00. ends_at is optional in the same format, all_day is an optional boolean, notes is optional up to 500 characters, and idempotency_key is optional up to 80 characters. Repeat the same key for a repeated request and TaskFamily will not add the same event twice.

The tool runs on the OneLifeVibe account connector at https://onelifevibe.com/mcp. That connection needs the person's OneLifeVibe sign-in (OAuth 2.1 with PKCE) and the scope olv.write, and the person must have signed in to taskfamily.com with OneLifeVibe once. The connector's sign-in is set up for Meta Muse today (client onelifevibe-muse); other MCP clients reach the no-account tools through the free connector.

A tools/call request to that endpoint with the arguments title "Swimming lesson", starts_at 2026-11-14T10:00:00-08:00, ends_at 2026-11-14T11:00:00-08:00 and idempotency_key swim-2026-11-14 adds the event and leaves you a safe retry path.

What comes back

A successful call returns id, title and starts_at: the new event's identifier, and its title and start time as recorded. Nothing else comes back in the result.

Use the id to refer to the event later, and tell the person the event is on the calendar and that the family has been notified.

Errors, limits and safety

The calendar accepts at most 20 events an hour. If a call is refused because of that cap, say so and offer to try later; retrying in a loop will not get past it.

not_linked means the person has not signed in to taskfamily.com with OneLifeVibe yet. Ask them to do that once, then call again.

The tool is listed in the platform API registry at GET /api/platform/v1/tools, but a platform key gets 501 world_tools_unavailable for it today, because it acts on one member's own data. A platform key can call the world catalogue, the tool registry, the network directory tool and the event log.

After a timeout, retry with the same idempotency_key. A retry without a key can create a second event and a second notification to the family.

Questions

How do I stop taskfamily_add_event from creating the same event twice?

Send an idempotency_key of up to 80 characters and repeat that key when you retry or resend the same event. TaskFamily will not add the same event twice for the same key.

Why does taskfamily_add_event return not_linked?

The person has not signed in to taskfamily.com with OneLifeVibe yet. Once they have done that, the account connector at https://onelifevibe.com/mcp can call the tool with the olv.write scope.

Can I call taskfamily_add_event with a platform API key?

No. The tool is listed in GET /api/platform/v1/tools, but a platform key gets 501 world_tools_unavailable for it today because it acts on one member's own data.

Build with it. Connect an assistant to https://onelifevibe.com/mcp, or get a free Sandbox key for the Platform API.

Get a free key Connector guide

Written from the OneLifeVibe tool registry and platform configuration, and checked automatically before publishing. Something wrong? Tell us.