connacto
Back to Weight & Body Composition

Weight & Body Composition tools

Every tool in this module, with its full description, parameters, and return value. All of them require the module to be active first. See the Weight & Body Composition overview for how to turn it on.

CRUD

Core tools

Create, read, update, and delete entries. Every module has exactly these four.

weight_tracking_add_entry

Add an entry to the user's Weight & Body Composition module. Requires the module to be active — see create_database.

Parameters

NameTypeRequiredNotes
weight_lbsnumberYesBody weight in pounds.
body_fat_pctnumberNoBody fat percentage (0-100), if measured.
waist_innumberNoWaist circumference in inches, if measured.
muscle_mass_lbsnumberNoMuscle mass in pounds, if measured.
notesstringNoFreeform notes about this entry.

Returns

The created entry as JSON, including its id.

weight_tracking_list_entries

List entries in the user's active Weight & Body Composition module.

Parameters

NameTypeRequiredNotes
limitnumberNoMax entries to return (default 100, max 500).

Returns

Every entry in the active database, as a JSON array.

weight_tracking_update_entry

Update fields on an existing Weight & Body Composition entry.

Parameters

NameTypeRequiredNotes
entryIdstringYesID of the weight entry to update.
weight_lbsnumberNoNew body weight in pounds.
body_fat_pctnumberNoNew body fat percentage (0-100).
waist_innumberNoNew waist circumference in inches.
muscle_mass_lbsnumberNoNew muscle mass in pounds.
notesstringNoNew freeform notes about this entry.

Returns

The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.

weight_tracking_delete_entry

Delete an entry from the user's active Weight & Body Composition module.

Parameters

NameTypeRequiredNotes
entryIdstringYesID of the weight entry to delete.

Returns

The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.

Specialized

Purpose-built tools

Shortcuts and queries shaped around how Weight & Body Composition is actually used, so your agent doesn't have to fetch every entry and filter them itself.

weight_tracking_attach_photo

Attach a photo to an existing Weight & Body Composition entry (replacing any photo already on it). If you have the image's raw bytes, pass photo_base64. If the user attached the image in a chat client (e.g. claude.ai), you cannot read its bytes: call this WITHOUT photo_base64 to get a one-time upload link, and give that link to the user so they can upload the photo themselves. The link expires in 30 minutes. Photos are stored privately; the returned viewPath is only viewable signed into the connacto web app as this user.

Parameters

NameTypeRequiredNotes
entryIdstringYesID of the Weight & Body Composition entry to attach the photo to.
photo_base64stringNoThe photo, base64-encoded (no data: URI prefix). Omit when you cannot read the image bytes — the tool then returns an upload link for the user instead.
photo_content_typeimage/jpeg | image/png | image/webp | image/heicNoMIME type of the photo, if photo_base64 is set. Defaults to image/jpeg.

Returns

JSON with a private viewPath when photo_base64 was given, or an uploadUrl to hand the user when it was not.

weight_tracking_trend

Return the most recent N entries (default 10) from the active Weight & Body Composition module, ordered newest-first, along with a summary of the weight change (delta) across that window.

Parameters

NameTypeRequiredNotes
limitnumberNoNumber of most recent entries to include in the trend window (default 10).

Returns

The entries considered plus a summary with the newest and oldest weight and the delta between them. If fewer than 2 entries exist, the summary explains there is not enough data yet.

weight_tracking_latest

Return the single most recent entry from the active Weight & Body Composition module.

Parameters

None. Call it with an empty object.

Returns

The most recent entry as JSON, or a message if no entries exist yet.

weight_tracking_set_goal

Set the active weight goal for this database. Deactivates any existing active goal first (its history is kept, not deleted), then creates a new one, snapshotting the most recent entry's weight as the starting point (null if no entries exist yet).

Parameters

NameTypeRequiredNotes
target_weight_lbsnumberYesTarget body weight in pounds.
target_datestringNoISO date, e.g. 2026-12-31, if there's a deadline.

Returns

The created goal as JSON, including its id.

weight_tracking_get_goal

Return the active weight goal (if any), plus computed progress (remaining lbs, percent complete) and, when at least 2 recent entries exist, a naive linear projection of the date it'll be reached based on the recent rate of change. Returns a clear message instead of a projection when the trend is flat or moving the wrong direction.

Parameters

None. Call it with an empty object.

Returns

An object with the goal, a progress summary, and a projection (or explanatory messages if there isn't enough data).

weight_tracking_clear_goal

Deactivate the active weight goal without deleting entry history.

Parameters

None. Call it with an empty object.

Returns

The deactivated goal as JSON, or a message if there was no active goal.

weight_tracking_moving_average

Compute the average weight over the last N days (default 7) in the active Weight & Body Composition module.

Parameters

NameTypeRequiredNotes
daysnumberNoLookback window in days, default 7.

Returns

The lookback window, entries considered, and average weight in pounds, as JSON.