Home Maintenance 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 Home Maintenance overview for how to turn it on.
Core tools
Create, read, update, and delete entries. Every module has exactly these four.
home_maintenance_add_entryAdd an asset/maintenance task to the user's Home Maintenance module. Requires the module to be active — see create_database.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| asset | string | Yes | |
| maintenance_task | string | Yes | |
| task_template_id | string | No | Exact home_maintenance_task_templates.id from home_maintenance_search_task_templates, if already known. Skips automatic matching. |
| frequency | string | No | |
| last_performed | string | No | ISO date, e.g. 2026-08-20 |
| next_due | string | No | ISO date, e.g. 2026-08-20 |
| vendor | string | No | |
| cost | number | No |
Returns
The created entry as JSON, including its id.
home_maintenance_list_entriesList entries in the user's active Home Maintenance module.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| limit | number | No | Max entries to return (default 100, max 500). |
Returns
Every entry in the active database, as a JSON array.
home_maintenance_update_entryUpdate fields on an existing Home Maintenance entry.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | |
| asset | string | No | |
| maintenance_task | string | No | |
| task_template_id | string | No | Exact home_maintenance_task_templates.id from home_maintenance_search_task_templates. Skips automatic matching. |
| frequency | string | No | |
| last_performed | string | No | |
| next_due | string | No | |
| vendor | string | No | |
| cost | number | No |
Returns
The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.
home_maintenance_delete_entryDelete an entry from the user's active Home Maintenance module.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes |
Returns
The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.
Purpose-built tools
Shortcuts and queries shaped around how Home Maintenance is actually used, so your agent doesn't have to fetch every entry and filter them itself.
home_maintenance_attach_photoAttach a photo to an existing Home Maintenance 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
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | ID of the Home Maintenance entry to attach the photo to. |
| photo_base64 | string | No | The 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_type | image/jpeg | image/png | image/webp | image/heic | No | MIME 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.
home_maintenance_list_upcomingList entries in the user's active Home Maintenance module whose next_due date falls within the given number of days from today (default 30). Entries with no next_due are excluded.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| withinDays | number | No | Number of days from today to look ahead (default 30) |
Returns
Matching entries as a JSON array.
home_maintenance_log_completedConvenience tool to record that a Home Maintenance entry's task was just completed: sets last_performed (default today), optionally updates cost, and optionally updates next_due, all in one call.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| entryId | string | Yes | |
| date | string | No | ISO date the task was completed, e.g. 2026-08-16 (default today) |
| cost | number | No | |
| next_due | string | No | ISO date for the next due date, if it should be updated |
Returns
The updated or deleted entry as JSON. Returns an error if entryId does not belong to an entry in the active database.
home_maintenance_search_task_templatesLook up candidate maintenance task templates by asset or task text when the exact match for an entry is unclear. Use the returned id as task_template_id in home_maintenance_add_entry or home_maintenance_update_entry.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| query | string | Yes | Free-text asset or task to search for, e.g. 'HVAC filter' or 'gutter cleaning'. |
| assetType | string | No | Restrict results to this catalog assetType key, e.g. 'hvac_system'. |
| limit | number | No | Max candidates to return (default 5, max 20). |
Returns
Candidate task templates with their asset, frequency, and match score, as a JSON array.
home_maintenance_suggest_tasksLook up every recommended maintenance task for a home asset (e.g. 'HVAC system', 'water heater') from the maintenance task catalog. Fuzzy-matches assetType against the catalog and returns each task's frequency and a computed next-due date counted from today.
Parameters
| Name | Type | Required | Notes |
|---|---|---|---|
| assetType | string | Yes | Free-text asset name, e.g. 'HVAC system' or 'gutters'. |
Returns
The matched asset plus its task list, each with frequencyLabel and a computed nextDue date, as JSON.