Server definition
- Hash
- sha256:d5597cd30fc8fcc366164d8342d46594501329d285270301662d23a629b0fa75
- What it is
- What a remote MCP server returned when asked what it offers: 21 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Add a note (title + body) to a Contact, Organisation, Lead, Opportunity or Project. Insightly: POST /<Object>/{id}/Notes.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"body": {
"description": "Note body (may contain HTML).",
"type": "string"
},
"id": {
"description": "The record's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"object": {
"description": "The record type to attach the note to.",
"enum": [
"Contacts",
"Organisations",
"Leads",
"Opportunities",
"Projects"
],
"type": "string"
},
"title": {
"description": "Note title (required).",
"minLength": 1,
"type": "string"
}
},
"required": [
"object",
"id",
"title"
],
"type": "object"
},
"name": "insightly_add_note",
"outputSchema": null
},
{
"description": "Create a contact (first_name is required). Insightly: POST /Contacts.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_mail_city": {
"type": "string"
},
"address_mail_country": {
"type": "string"
},
"address_mail_postcode": {
"type": "string"
},
"address_mail_state": {
"type": "string"
},
"address_mail_street": {
"type": "string"
},
"background": {
"description": "Background / description text.",
"type": "string"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"email_address": {
"description": "Primary email.",
"type": "string"
},
"email_opted_out": {
"description": "Opted out of email.",
"type": "boolean"
},
"first_name": {
"description": "First name (required).",
"minLength": 1,
"type": "string"
},
"last_name": {
"description": "Last name.",
"type": "string"
},
"organisation_id": {
"description": "Id of the contact's organisation.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"owner_user_id": {
"description": "Owning user's id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"phone": {
"description": "Business phone.",
"type": "string"
},
"phone_mobile": {
"description": "Mobile phone.",
"type": "string"
},
"salutation": {
"description": "e.g. Mr, Ms, Dr.",
"type": "string"
},
"social_linkedin": {
"description": "LinkedIn URL.",
"type": "string"
},
"title": {
"description": "Job title.",
"type": "string"
}
},
"required": [
"first_name"
],
"type": "object"
},
"name": "insightly_create_contact",
"outputSchema": null
},
{
"description": "Create a lead (last_name is required). Insightly's schema also marks lead_status_id and lead_source_id as required — get valid ids from insightly_list_lead_statuses / insightly_list_lead_sources. Insightly: POST /Leads.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_city": {
"type": "string"
},
"address_country": {
"type": "string"
},
"address_postcode": {
"type": "string"
},
"address_state": {
"type": "string"
},
"address_street": {
"type": "string"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"email": {
"description": "Email address.",
"type": "string"
},
"email_opted_out": {
"type": "boolean"
},
"employee_count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"first_name": {
"type": "string"
},
"industry": {
"type": "string"
},
"last_name": {
"description": "Last name (required).",
"minLength": 1,
"type": "string"
},
"lead_description": {
"description": "Description / notes on the lead.",
"type": "string"
},
"lead_rating": {
"description": "Rating, e.g. 1-5.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"lead_source_id": {
"description": "Source id — see insightly_list_lead_sources.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"lead_status_id": {
"description": "Status id — see insightly_list_lead_statuses.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"mobile": {
"type": "string"
},
"organisation_name": {
"description": "Company name (free text — leads are not linked to organisations).",
"type": "string"
},
"owner_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"phone": {
"type": "string"
},
"responsible_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"salutation": {
"type": "string"
},
"title": {
"description": "Job title.",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"last_name"
],
"type": "object"
},
"name": "insightly_create_lead",
"outputSchema": null
},
{
"description": "Create a sales opportunity (opportunity_name is required). Insightly: POST /Opportunities.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bid_amount": {
"description": "Bid value.",
"type": "number"
},
"bid_currency": {
"description": "ISO currency code, e.g. USD.",
"type": "string"
},
"bid_duration": {
"description": "Number of bid periods (for non-fixed bid types).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"bid_type": {
"description": "BID_TYPE — how the bid is priced, using a value your Insightly instance accepts.",
"type": "string"
},
"category_id": {
"description": "Opportunity category id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"forecast_close_date": {
"description": "Forecast close date, as \"yyyy-MM-dd HH:mm:ss\" in UTC (e.g. 2026-04-10 21:15:00).",
"type": "string"
},
"opportunity_details": {
"description": "Description.",
"type": "string"
},
"opportunity_name": {
"description": "Opportunity name (required).",
"minLength": 1,
"type": "string"
},
"organisation_id": {
"description": "Id of the linked organisation.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"owner_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"probability": {
"description": "Win probability, 0-100.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"responsible_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"opportunity_name"
],
"type": "object"
},
"name": "insightly_create_opportunity",
"outputSchema": null
},
{
"description": "Create an organisation (company). Insightly: POST /Organisations.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_billing_city": {
"type": "string"
},
"address_billing_country": {
"type": "string"
},
"address_billing_postcode": {
"type": "string"
},
"address_billing_state": {
"type": "string"
},
"address_billing_street": {
"type": "string"
},
"background": {
"description": "Background / description text.",
"type": "string"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"organisation_name": {
"description": "Organisation name (required).",
"minLength": 1,
"type": "string"
},
"owner_user_id": {
"description": "Owning user's id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"phone": {
"type": "string"
},
"social_linkedin": {
"description": "LinkedIn URL.",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"organisation_name"
],
"type": "object"
},
"name": "insightly_create_organisation",
"outputSchema": null
},
{
"description": "Create a task (title is required). Insightly requires OWNER_USER_ID and COMPLETED on a task: if owner_user_id is omitted it is filled with the API key's own user (via GET /Users/Me), and completed defaults to false. Insightly: POST /Tasks.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category_id": {
"description": "Task category id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"completed": {
"description": "Whether the task is done.",
"type": "boolean"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"details": {
"description": "Task description.",
"type": "string"
},
"due_date": {
"description": "Due date, as \"yyyy-MM-dd HH:mm:ss\" in UTC (e.g. 2026-04-10 21:15:00).",
"type": "string"
},
"opportunity_id": {
"description": "Link the task to this opportunity.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"owner_user_id": {
"description": "Owner's user id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"percent_complete": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"priority": {
"description": "Priority number.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"project_id": {
"description": "Link the task to this project.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"responsible_user_id": {
"description": "Assignee's user id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"start_date": {
"description": "Start date, as \"yyyy-MM-dd HH:mm:ss\" in UTC (e.g. 2026-04-10 21:15:00).",
"type": "string"
},
"status": {
"description": "Task STATUS text, using a value your Insightly instance accepts (read an existing task to see them).",
"type": "string"
},
"title": {
"description": "Task title (required).",
"minLength": 1,
"type": "string"
}
},
"required": [
"title"
],
"type": "object"
},
"name": "insightly_create_task",
"outputSchema": null
},
{
"description": "Fetch the user the API key belongs to (USER_ID, name, email, admin flag). A cheap way to confirm the key and pod are right, and to get your own id for owner fields. Insightly: GET /Users/Me.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "insightly_get_current_user",
"outputSchema": null
},
{
"description": "Fetch a single Contact, Organisation, Lead, Opportunity, Project, Task, Event or Note by id, with its custom fields, tags and links. Insightly: GET /<Object>/{id}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The record's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"object": {
"description": "Record type.",
"enum": [
"Contacts",
"Organisations",
"Leads",
"Opportunities",
"Projects",
"Tasks",
"Events",
"Notes"
],
"type": "string"
}
},
"required": [
"object",
"id"
],
"type": "object"
},
"name": "insightly_get_record",
"outputSchema": null
},
{
"description": "List the lead sources defined in the instance (LEAD_SOURCE_ID, name). Insightly: GET /LeadSources.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "insightly_list_lead_sources",
"outputSchema": null
},
{
"description": "List the lead statuses defined in the instance (LEAD_STATUS_ID, name, type). Insightly: GET /LeadStatuses.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"include_converted": {
"description": "Also include statuses used for converted leads.",
"type": "boolean"
},
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "insightly_list_lead_statuses",
"outputSchema": null
},
{
"description": "List every pipeline stage (STAGE_ID, PIPELINE_ID, name, order) — map an opportunity's or project's STAGE_ID to a stage name. Insightly: GET /PipelineStages.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "insightly_list_pipeline_stages",
"outputSchema": null
},
{
"description": "List the sales and project pipelines (PIPELINE_ID, name, whether for opportunities or projects). Insightly: GET /Pipelines.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "insightly_list_pipelines",
"outputSchema": null
},
{
"description": "List the Notes, Tasks or Events attached to one Contact, Organisation, Lead, Opportunity or Project — the activity history of that record. Insightly: GET /<Object>/{id}/Notes | Tasks | Events.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"brief": {
"description": "true = only top-level fields (no CUSTOMFIELDS, TAGS, LINKS, ...). Smaller and faster.",
"type": "boolean"
},
"count_total": {
"description": "true = also return the total number of matching records (response becomes {total_count, items}).",
"type": "boolean"
},
"id": {
"description": "The parent record's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"kind": {
"description": "Which activity to list.",
"enum": [
"Notes",
"Tasks",
"Events"
],
"type": "string"
},
"object": {
"description": "The parent record's type.",
"enum": [
"Contacts",
"Organisations",
"Leads",
"Opportunities",
"Projects"
],
"type": "string"
},
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"updated_after_utc": {
"description": "Only items updated after this time, yyyy-mm-ddThh:mm:ssZ.",
"type": "string"
}
},
"required": [
"object",
"id",
"kind"
],
"type": "object"
},
"name": "insightly_list_record_activity",
"outputSchema": null
},
{
"description": "List records of one type — Contacts, Organisations, Leads, Opportunities, Projects, Tasks, Events or Notes — optionally filtered by one field value and/or last-updated time. With field_name + field_value (both required together) or updated_after_utc this uses GET /<Object>/Search; otherwise GET /<Object>. Field names are Insightly's UPPER_SNAKE names, e.g. EMAIL_ADDRESS, LAST_NAME, ORGANISATION_NAME, OPPORTUNITY_STATE, LEAD_RATING, or a custom field such as Industry__c.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"brief": {
"description": "true = only top-level fields (no CUSTOMFIELDS, TAGS, LINKS, ...). Smaller and faster.",
"type": "boolean"
},
"count_total": {
"description": "true = also return the total number of matching records (response becomes {total_count, items}).",
"type": "boolean"
},
"field_name": {
"description": "Field to filter on, e.g. EMAIL_ADDRESS.",
"type": "string"
},
"field_value": {
"description": "Value the field must equal.",
"type": "string"
},
"object": {
"description": "Record type.",
"enum": [
"Contacts",
"Organisations",
"Leads",
"Opportunities",
"Projects",
"Tasks",
"Events",
"Notes"
],
"type": "string"
},
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
},
"updated_after_utc": {
"description": "Only records updated after this time, yyyy-mm-ddThh:mm:ssZ (e.g. 2026-04-09T16:58:14Z).",
"type": "string"
}
},
"required": [
"object"
],
"type": "object"
},
"name": "insightly_list_records",
"outputSchema": null
},
{
"description": "List the users in the Insightly instance — needed to resolve OWNER_USER_ID / RESPONSIBLE_USER_ID. Insightly: GET /Users.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"count_total": {
"description": "true = also return the total number of matching records (response becomes {total_count, items}).",
"type": "boolean"
},
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "insightly_list_users",
"outputSchema": null
},
{
"description": "List Contacts, Organisations, Leads, Opportunities or Projects carrying a tag. Insightly: GET /<Object>/SearchByTag?tagName=.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"brief": {
"description": "true = only top-level fields (no CUSTOMFIELDS, TAGS, LINKS, ...). Smaller and faster.",
"type": "boolean"
},
"count_total": {
"description": "true = also return the total number of matching records (response becomes {total_count, items}).",
"type": "boolean"
},
"object": {
"description": "Record type.",
"enum": [
"Contacts",
"Organisations",
"Leads",
"Opportunities",
"Projects"
],
"type": "string"
},
"skip": {
"description": "Records to skip, for paging.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"tag": {
"description": "The tag name.",
"minLength": 1,
"type": "string"
},
"top": {
"description": "Max records to return, 1-500 (API default 100).",
"maximum": 500,
"minimum": 1,
"type": "integer"
}
},
"required": [
"object",
"tag"
],
"type": "object"
},
"name": "insightly_search_by_tag",
"outputSchema": null
},
{
"description": "Update a contact. Only the fields you pass are changed (v3.1 partial update). Insightly: PUT /Contacts with CONTACT_ID.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_mail_city": {
"type": "string"
},
"address_mail_country": {
"type": "string"
},
"address_mail_postcode": {
"type": "string"
},
"address_mail_state": {
"type": "string"
},
"address_mail_street": {
"type": "string"
},
"background": {
"description": "Background / description text.",
"type": "string"
},
"contact_id": {
"description": "The contact's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"email_address": {
"description": "Primary email.",
"type": "string"
},
"email_opted_out": {
"description": "Opted out of email.",
"type": "boolean"
},
"first_name": {
"description": "First name.",
"type": "string"
},
"last_name": {
"description": "Last name.",
"type": "string"
},
"organisation_id": {
"description": "Id of the contact's organisation.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"owner_user_id": {
"description": "Owning user's id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"phone": {
"description": "Business phone.",
"type": "string"
},
"phone_mobile": {
"description": "Mobile phone.",
"type": "string"
},
"salutation": {
"description": "e.g. Mr, Ms, Dr.",
"type": "string"
},
"social_linkedin": {
"description": "LinkedIn URL.",
"type": "string"
},
"title": {
"description": "Job title.",
"type": "string"
}
},
"required": [
"contact_id"
],
"type": "object"
},
"name": "insightly_update_contact",
"outputSchema": null
},
{
"description": "Update a lead. Only the fields you pass are changed. Insightly: PUT /Leads with LEAD_ID.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_city": {
"type": "string"
},
"address_country": {
"type": "string"
},
"address_postcode": {
"type": "string"
},
"address_state": {
"type": "string"
},
"address_street": {
"type": "string"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"email": {
"description": "Email address.",
"type": "string"
},
"email_opted_out": {
"type": "boolean"
},
"employee_count": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"first_name": {
"type": "string"
},
"industry": {
"type": "string"
},
"last_name": {
"description": "Last name.",
"type": "string"
},
"lead_description": {
"description": "Description / notes on the lead.",
"type": "string"
},
"lead_id": {
"description": "The lead's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"lead_rating": {
"description": "Rating, e.g. 1-5.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"lead_source_id": {
"description": "Source id — see insightly_list_lead_sources.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"lead_status_id": {
"description": "Status id — see insightly_list_lead_statuses.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"mobile": {
"type": "string"
},
"organisation_name": {
"description": "Company name (free text — leads are not linked to organisations).",
"type": "string"
},
"owner_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"phone": {
"type": "string"
},
"responsible_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"salutation": {
"type": "string"
},
"title": {
"description": "Job title.",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"lead_id"
],
"type": "object"
},
"name": "insightly_update_lead",
"outputSchema": null
},
{
"description": "Update an opportunity's value, probability, dates, owner or details. Only the fields you pass are changed. Insightly: PUT /Opportunities with OPPORTUNITY_ID.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"bid_amount": {
"description": "Bid value.",
"type": "number"
},
"bid_currency": {
"description": "ISO currency code, e.g. USD.",
"type": "string"
},
"bid_duration": {
"description": "Number of bid periods (for non-fixed bid types).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"bid_type": {
"description": "BID_TYPE — how the bid is priced, using a value your Insightly instance accepts.",
"type": "string"
},
"category_id": {
"description": "Opportunity category id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"forecast_close_date": {
"description": "Forecast close date, as \"yyyy-MM-dd HH:mm:ss\" in UTC (e.g. 2026-04-10 21:15:00).",
"type": "string"
},
"opportunity_details": {
"description": "Description.",
"type": "string"
},
"opportunity_id": {
"description": "The opportunity's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"opportunity_name": {
"description": "Opportunity name.",
"type": "string"
},
"organisation_id": {
"description": "Id of the linked organisation.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"owner_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"probability": {
"description": "Win probability, 0-100.",
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"responsible_user_id": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"opportunity_id"
],
"type": "object"
},
"name": "insightly_update_opportunity",
"outputSchema": null
},
{
"description": "Update an organisation. Only the fields you pass are changed. Insightly: PUT /Organisations with ORGANISATION_ID.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"address_billing_city": {
"type": "string"
},
"address_billing_country": {
"type": "string"
},
"address_billing_postcode": {
"type": "string"
},
"address_billing_state": {
"type": "string"
},
"address_billing_street": {
"type": "string"
},
"background": {
"description": "Background / description text.",
"type": "string"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"organisation_id": {
"description": "The organisation's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"organisation_name": {
"description": "Organisation name.",
"type": "string"
},
"owner_user_id": {
"description": "Owning user's id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"phone": {
"type": "string"
},
"social_linkedin": {
"description": "LinkedIn URL.",
"type": "string"
},
"website": {
"type": "string"
}
},
"required": [
"organisation_id"
],
"type": "object"
},
"name": "insightly_update_organisation",
"outputSchema": null
},
{
"description": "Update a task — mark it completed, change due date, status, assignee or details. Only the fields you pass are changed. Insightly: PUT /Tasks with TASK_ID.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"category_id": {
"description": "Task category id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"completed": {
"description": "Whether the task is done.",
"type": "boolean"
},
"custom_fields": {
"description": "Custom field values to set.",
"items": {
"properties": {
"field_name": {
"description": "The custom field's FIELD_NAME, e.g. Industry__c.",
"type": "string"
},
"field_value": {
"description": "The value (null clears it).",
"type": [
"string",
"number",
"boolean",
"null"
]
}
},
"required": [
"field_name",
"field_value"
],
"type": "object"
},
"type": "array"
},
"details": {
"description": "Task description.",
"type": "string"
},
"due_date": {
"description": "Due date, as \"yyyy-MM-dd HH:mm:ss\" in UTC (e.g. 2026-04-10 21:15:00).",
"type": "string"
},
"opportunity_id": {
"description": "Link the task to this opportunity.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"owner_user_id": {
"description": "Owner's user id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"percent_complete": {
"maximum": 100,
"minimum": 0,
"type": "integer"
},
"priority": {
"description": "Priority number.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"project_id": {
"description": "Link the task to this project.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"responsible_user_id": {
"description": "Assignee's user id.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"start_date": {
"description": "Start date, as \"yyyy-MM-dd HH:mm:ss\" in UTC (e.g. 2026-04-10 21:15:00).",
"type": "string"
},
"status": {
"description": "Task STATUS text, using a value your Insightly instance accepts (read an existing task to see them).",
"type": "string"
},
"task_id": {
"description": "The task's numeric id.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"title": {
"description": "Task title.",
"type": "string"
}
},
"required": [
"task_id"
],
"type": "object"
},
"name": "insightly_update_task",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:d5597cd30fc8fcc366164d8342d46594501329d285270301662d23a629b0fa75 | sha256sum