{
  "service": "salesflare",
  "displayName": "Salesflare",
  "categories": [
    "Productivity",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "salesflare_api_key",
      "description": "Salesflare API key sent as a Bearer token. Create it in Salesflare under Settings > API keys.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://salesflare.com",
  "actions": [
    {
      "id": "salesflare.create_account",
      "service": "salesflare",
      "name": "create_account",
      "description": "Create a Salesflare account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the user who owns the account."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The account name."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The account domain."
          },
          "picture": {
            "type": "string",
            "description": "The account logo URL.",
            "format": "uri"
          },
          "size": {
            "type": "number",
            "description": "The account employee count."
          },
          "website": {
            "type": "string",
            "description": "The account website URL.",
            "format": "uri"
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The account description."
              },
              {
                "type": "null"
              }
            ]
          },
          "address": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The primary address of the account."
          },
          "addresses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Salesflare address."
            },
            "description": "Addresses associated with the account."
          },
          "social_profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Salesflare social profile."
            },
            "description": "Social profiles associated with the account."
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The account phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "email": {
            "type": "string",
            "description": "The account email address.",
            "format": "email"
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "One Salesflare tag value."
            },
            "description": "Salesflare tag IDs or tag objects for the account."
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "description": "A Salesflare custom field value."
            },
            "description": "Salesflare custom field values keyed by API field name."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating a Salesflare account.",
        "anyOf": [
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "domain"
            ]
          },
          {
            "required": [
              "website"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare account output."
      }
    },
    {
      "id": "salesflare.create_contact",
      "service": "salesflare",
      "name": "create_contact",
      "description": "Create a Salesflare contact.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the user who owns the contact."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The contact domain."
          },
          "email": {
            "type": "string",
            "description": "The contact email address.",
            "format": "email"
          },
          "prefix": {
            "type": "string",
            "minLength": 1,
            "description": "The contact name prefix."
          },
          "firstname": {
            "type": "string",
            "minLength": 1,
            "description": "The contact first name."
          },
          "middle": {
            "type": "string",
            "minLength": 1,
            "description": "The contact middle name."
          },
          "lastname": {
            "type": "string",
            "minLength": 1,
            "description": "The contact last name."
          },
          "suffix": {
            "type": "string",
            "minLength": 1,
            "description": "The contact name suffix."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The full name of the contact."
          },
          "picture": {
            "type": "string",
            "description": "The contact profile picture URL.",
            "format": "uri"
          },
          "birth_date": {
            "type": "string",
            "description": "The contact birth date.",
            "format": "date"
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "home_phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact home phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "work_phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact work phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "mobile_phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact mobile phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact description."
              },
              {
                "type": "null"
              }
            ]
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the Salesflare account linked to the contact."
          },
          "address": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The primary address of the contact."
          },
          "social_profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Salesflare social profile."
            },
            "description": "Social profiles associated with the contact."
          },
          "position": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The contact position details."
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "One Salesflare tag value."
            },
            "description": "Salesflare tag IDs or tag objects for the contact."
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "description": "A Salesflare custom field value."
            },
            "description": "Salesflare custom field values keyed by API field name."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating a Salesflare contact.",
        "anyOf": [
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "name"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare contact output."
      }
    },
    {
      "id": "salesflare.create_opportunity",
      "service": "salesflare",
      "name": "create_opportunity",
      "description": "Create a Salesflare opportunity.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the user who owns the opportunity."
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the Salesflare account linked to the opportunity."
          },
          "stage": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare stage ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The opportunity name."
          },
          "value": {
            "type": "number",
            "description": "The opportunity value."
          },
          "close_date": {
            "type": "string",
            "description": "The expected opportunity close date.",
            "format": "date"
          },
          "probability": {
            "type": "number",
            "description": "The opportunity probability."
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The opportunity description."
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "The Salesflare opportunity status."
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "One Salesflare tag value."
            },
            "description": "Salesflare tag IDs or tag objects for the opportunity."
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "description": "A Salesflare custom field value."
            },
            "description": "Salesflare custom field values keyed by API field name."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating a Salesflare opportunity.",
        "anyOf": [
          {
            "required": [
              "account"
            ]
          },
          {
            "required": [
              "name"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare opportunity output."
      }
    },
    {
      "id": "salesflare.create_task",
      "service": "salesflare",
      "name": "create_task",
      "description": "Create a Salesflare task.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the account linked to the task."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "The task description."
          },
          "reminder_date": {
            "type": "string",
            "description": "The task due date.",
            "format": "date"
          },
          "assignees": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "One Salesflare user ID."
            },
            "description": "User IDs assigned to the task.",
            "minItems": 1
          },
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for creating a Salesflare task.",
        "anyOf": [
          {
            "required": [
              "description"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the Salesflare operation succeeded."
          }
        },
        "additionalProperties": false,
        "description": "A Salesflare success response."
      }
    },
    {
      "id": "salesflare.get_account",
      "service": "salesflare",
      "name": "get_account",
      "description": "Retrieve one Salesflare account by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare account ID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a Salesflare account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare account output."
      }
    },
    {
      "id": "salesflare.get_contact",
      "service": "salesflare",
      "name": "get_contact",
      "description": "Retrieve one Salesflare contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare contact ID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a Salesflare contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare contact output."
      }
    },
    {
      "id": "salesflare.get_current_user",
      "service": "salesflare",
      "name": "get_current_user",
      "description": "Retrieve the current Salesflare API user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to retrieve the current Salesflare user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare current user output."
      }
    },
    {
      "id": "salesflare.get_opportunity",
      "service": "salesflare",
      "name": "get_opportunity",
      "description": "Retrieve one Salesflare opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare opportunity ID."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a Salesflare opportunity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare opportunity output."
      }
    },
    {
      "id": "salesflare.list_accounts",
      "service": "salesflare",
      "name": "list_accounts",
      "description": "List Salesflare accounts with optional search, pagination, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text forwarded to Salesflare."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of Salesflare records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based Salesflare result offset."
          },
          "order_by": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Salesflare sort instruction."
            },
            "description": "Salesflare sort instructions, such as name or creation_date desc.",
            "minItems": 1
          },
          "custom": {
            "type": "string",
            "description": "Salesflare custom filter expression."
          },
          "details": {
            "type": "boolean",
            "description": "Whether Salesflare should include detailed account data."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Filter accounts by name."
          },
          "domain": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One account domain."
            },
            "description": "Account domains to filter by.",
            "minItems": 1
          },
          "hotness": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "description": "Salesflare hotness level: 1 room temp, 2 hot, or 3 on fire."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Salesflare accounts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Salesflare API object."
            },
            "description": "Salesflare accounts returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare account list output."
      }
    },
    {
      "id": "salesflare.list_contacts",
      "service": "salesflare",
      "name": "list_contacts",
      "description": "List Salesflare contacts with optional search, pagination, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text forwarded to Salesflare."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of Salesflare records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based Salesflare result offset."
          },
          "order_by": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Salesflare sort instruction."
            },
            "description": "Salesflare sort instructions, such as name or creation_date desc.",
            "minItems": 1
          },
          "custom": {
            "type": "string",
            "description": "Salesflare custom filter expression."
          },
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter contacts by Salesflare contact ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Filter contacts by name."
          },
          "email": {
            "type": "string",
            "description": "Filter contacts by email address.",
            "format": "email"
          },
          "phone_number": {
            "type": "string",
            "minLength": 1,
            "description": "Filter contacts by phone number."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "Filter contacts by domain."
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter contacts by Salesflare account ID."
          },
          "includeArchived": {
            "type": "boolean",
            "description": "Whether archived contacts should be included."
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "description": "Filter contacts by Salesflare contact type."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Salesflare contacts."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Salesflare API object."
            },
            "description": "Salesflare contacts returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare contact list output."
      }
    },
    {
      "id": "salesflare.list_opportunities",
      "service": "salesflare",
      "name": "list_opportunities",
      "description": "List Salesflare opportunities with optional search, pagination, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text forwarded to Salesflare."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of Salesflare records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based Salesflare result offset."
          },
          "order_by": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Salesflare sort instruction."
            },
            "description": "Salesflare sort instructions, such as name or creation_date desc.",
            "minItems": 1
          },
          "custom": {
            "type": "string",
            "description": "Salesflare custom filter expression."
          },
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter opportunities by Salesflare opportunity ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Filter opportunities by name."
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "Filter opportunities by Salesflare status."
          },
          "stage": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter opportunities by Salesflare stage ID."
          },
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter opportunities by owner user ID."
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter opportunities by account ID."
          },
          "min_value": {
            "type": "number",
            "description": "Minimum opportunity value."
          },
          "max_value": {
            "type": "number",
            "description": "Maximum opportunity value."
          },
          "closed": {
            "type": "boolean",
            "description": "Whether to return closed opportunities."
          },
          "done": {
            "type": "boolean",
            "description": "Whether to return done opportunities."
          },
          "hotness": {
            "type": "integer",
            "minimum": 1,
            "maximum": 3,
            "description": "Salesflare hotness level: 1 room temp, 2 hot, or 3 on fire."
          },
          "details": {
            "type": "boolean",
            "description": "Whether Salesflare should include detailed opportunity data."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Salesflare opportunities."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Salesflare API object."
            },
            "description": "Salesflare opportunities returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare opportunity list output."
      }
    },
    {
      "id": "salesflare.list_tasks",
      "service": "salesflare",
      "name": "list_tasks",
      "description": "List Salesflare tasks with optional search, pagination, and filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "search": {
            "type": "string",
            "minLength": 1,
            "description": "Search text forwarded to Salesflare."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of Salesflare records to return."
          },
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based Salesflare result offset."
          },
          "order_by": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Salesflare sort instruction."
            },
            "description": "Salesflare sort instructions, such as name or creation_date desc.",
            "minItems": 1
          },
          "custom": {
            "type": "string",
            "description": "Salesflare custom filter expression."
          },
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter tasks by Salesflare task ID."
          },
          "assignees": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "One Salesflare user ID."
            },
            "description": "User IDs assigned to the task.",
            "minItems": 1
          },
          "type": {
            "type": "string",
            "minLength": 1,
            "description": "Filter tasks by Salesflare task type."
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter tasks by account ID."
          }
        },
        "additionalProperties": false,
        "description": "Query parameters for listing Salesflare tasks."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "tasks": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Salesflare API object."
            },
            "description": "Salesflare tasks returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare task list output."
      }
    },
    {
      "id": "salesflare.update_account",
      "service": "salesflare",
      "name": "update_account",
      "description": "Update a Salesflare account by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "account_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare account ID."
          },
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the user who owns the account."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The account name."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The account domain."
          },
          "picture": {
            "type": "string",
            "description": "The account logo URL.",
            "format": "uri"
          },
          "size": {
            "type": "number",
            "description": "The account employee count."
          },
          "website": {
            "type": "string",
            "description": "The account website URL.",
            "format": "uri"
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The account description."
              },
              {
                "type": "null"
              }
            ]
          },
          "address": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The primary address of the account."
          },
          "addresses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Salesflare address."
            },
            "description": "Addresses associated with the account."
          },
          "social_profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Salesflare social profile."
            },
            "description": "Social profiles associated with the account."
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The account phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "email": {
            "type": "string",
            "description": "The account email address.",
            "format": "email"
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "One Salesflare tag value."
            },
            "description": "Salesflare tag IDs or tag objects for the account."
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "description": "A Salesflare custom field value."
            },
            "description": "Salesflare custom field values keyed by API field name."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "required": [
          "account_id"
        ],
        "description": "Input parameters for updating a Salesflare account.",
        "anyOf": [
          {
            "required": [
              "owner"
            ]
          },
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "domain"
            ]
          },
          {
            "required": [
              "picture"
            ]
          },
          {
            "required": [
              "size"
            ]
          },
          {
            "required": [
              "website"
            ]
          },
          {
            "required": [
              "description"
            ]
          },
          {
            "required": [
              "address"
            ]
          },
          {
            "required": [
              "addresses"
            ]
          },
          {
            "required": [
              "social_profiles"
            ]
          },
          {
            "required": [
              "phone_number"
            ]
          },
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "tags"
            ]
          },
          {
            "required": [
              "custom"
            ]
          },
          {
            "required": [
              "raw"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare account output."
      }
    },
    {
      "id": "salesflare.update_contact",
      "service": "salesflare",
      "name": "update_contact",
      "description": "Update a Salesflare contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "contact_id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare contact ID."
          },
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the user who owns the contact."
          },
          "domain": {
            "type": "string",
            "minLength": 1,
            "description": "The contact domain."
          },
          "email": {
            "type": "string",
            "description": "The contact email address.",
            "format": "email"
          },
          "prefix": {
            "type": "string",
            "minLength": 1,
            "description": "The contact name prefix."
          },
          "firstname": {
            "type": "string",
            "minLength": 1,
            "description": "The contact first name."
          },
          "middle": {
            "type": "string",
            "minLength": 1,
            "description": "The contact middle name."
          },
          "lastname": {
            "type": "string",
            "minLength": 1,
            "description": "The contact last name."
          },
          "suffix": {
            "type": "string",
            "minLength": 1,
            "description": "The contact name suffix."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The full name of the contact."
          },
          "picture": {
            "type": "string",
            "description": "The contact profile picture URL.",
            "format": "uri"
          },
          "birth_date": {
            "type": "string",
            "description": "The contact birth date.",
            "format": "date"
          },
          "phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "home_phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact home phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "work_phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact work phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "mobile_phone_number": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact mobile phone number."
              },
              {
                "type": "null"
              }
            ]
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The contact description."
              },
              {
                "type": "null"
              }
            ]
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the Salesflare account linked to the contact."
          },
          "address": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The primary address of the contact."
          },
          "social_profiles": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Salesflare social profile."
            },
            "description": "Social profiles associated with the contact."
          },
          "position": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The contact position details."
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "One Salesflare tag value."
            },
            "description": "Salesflare tag IDs or tag objects for the contact."
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "description": "A Salesflare custom field value."
            },
            "description": "Salesflare custom field values keyed by API field name."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "required": [
          "contact_id"
        ],
        "description": "Input parameters for updating a Salesflare contact.",
        "anyOf": [
          {
            "required": [
              "owner"
            ]
          },
          {
            "required": [
              "domain"
            ]
          },
          {
            "required": [
              "email"
            ]
          },
          {
            "required": [
              "prefix"
            ]
          },
          {
            "required": [
              "firstname"
            ]
          },
          {
            "required": [
              "middle"
            ]
          },
          {
            "required": [
              "lastname"
            ]
          },
          {
            "required": [
              "suffix"
            ]
          },
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "picture"
            ]
          },
          {
            "required": [
              "birth_date"
            ]
          },
          {
            "required": [
              "phone_number"
            ]
          },
          {
            "required": [
              "home_phone_number"
            ]
          },
          {
            "required": [
              "work_phone_number"
            ]
          },
          {
            "required": [
              "mobile_phone_number"
            ]
          },
          {
            "required": [
              "description"
            ]
          },
          {
            "required": [
              "account"
            ]
          },
          {
            "required": [
              "address"
            ]
          },
          {
            "required": [
              "social_profiles"
            ]
          },
          {
            "required": [
              "position"
            ]
          },
          {
            "required": [
              "tags"
            ]
          },
          {
            "required": [
              "custom"
            ]
          },
          {
            "required": [
              "raw"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare contact output."
      }
    },
    {
      "id": "salesflare.update_opportunity",
      "service": "salesflare",
      "name": "update_opportunity",
      "description": "Update a Salesflare opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare opportunity ID."
          },
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the user who owns the opportunity."
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the Salesflare account linked to the opportunity."
          },
          "stage": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare stage ID."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The opportunity name."
          },
          "value": {
            "type": "number",
            "description": "The opportunity value."
          },
          "close_date": {
            "type": "string",
            "description": "The expected opportunity close date.",
            "format": "date"
          },
          "probability": {
            "type": "number",
            "description": "The opportunity probability."
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The opportunity description."
              },
              {
                "type": "null"
              }
            ]
          },
          "status": {
            "type": "string",
            "minLength": 1,
            "description": "The Salesflare opportunity status."
          },
          "tags": {
            "type": "array",
            "items": {
              "description": "One Salesflare tag value."
            },
            "description": "Salesflare tag IDs or tag objects for the opportunity."
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "description": "A Salesflare custom field value."
            },
            "description": "Salesflare custom field values keyed by API field name."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for updating a Salesflare opportunity.",
        "anyOf": [
          {
            "required": [
              "owner"
            ]
          },
          {
            "required": [
              "account"
            ]
          },
          {
            "required": [
              "stage"
            ]
          },
          {
            "required": [
              "name"
            ]
          },
          {
            "required": [
              "value"
            ]
          },
          {
            "required": [
              "close_date"
            ]
          },
          {
            "required": [
              "probability"
            ]
          },
          {
            "required": [
              "description"
            ]
          },
          {
            "required": [
              "status"
            ]
          },
          {
            "required": [
              "tags"
            ]
          },
          {
            "required": [
              "custom"
            ]
          },
          {
            "required": [
              "raw"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Salesflare API object."
          }
        },
        "additionalProperties": false,
        "description": "The normalized Salesflare opportunity output."
      }
    },
    {
      "id": "salesflare.update_task",
      "service": "salesflare",
      "name": "update_task",
      "description": "Update a Salesflare task by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Salesflare task ID."
          },
          "account": {
            "type": "integer",
            "minimum": 1,
            "description": "The ID of the account linked to the task."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "description": "The task description."
          },
          "reminder_date": {
            "type": "string",
            "description": "The task due date.",
            "format": "date"
          },
          "assignees": {
            "type": "array",
            "items": {
              "type": "integer",
              "minimum": 1,
              "description": "One Salesflare user ID."
            },
            "description": "User IDs assigned to the task.",
            "minItems": 1
          },
          "completed": {
            "type": "boolean",
            "description": "Whether the task is completed."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional official Salesflare fields to merge into the request body."
          }
        },
        "additionalProperties": false,
        "required": [
          "id"
        ],
        "description": "Input parameters for updating a Salesflare task.",
        "anyOf": [
          {
            "required": [
              "account"
            ]
          },
          {
            "required": [
              "description"
            ]
          },
          {
            "required": [
              "reminder_date"
            ]
          },
          {
            "required": [
              "assignees"
            ]
          },
          {
            "required": [
              "completed"
            ]
          },
          {
            "required": [
              "raw"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether the Salesflare operation succeeded."
          }
        },
        "additionalProperties": false,
        "description": "A Salesflare success response."
      }
    }
  ]
}
