{
  "service": "salesmate",
  "displayName": "Salesmate",
  "categories": [
    "Marketing",
    "Communication"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Access Token",
      "placeholder": "salesmate_access_token",
      "description": "Salesmate access token sent with the accessToken header. Create or view it from Salesmate Setup under API Access or API Key settings for your workspace.",
      "extraFields": [
        {
          "key": "linkName",
          "label": "Link Name",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "link_name.salesmate.io",
          "description": "Your Salesmate workspace link name, such as link_name or link_name.salesmate.io. It is used as the Salesmate API hostname and x-linkname header."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.salesmate.io",
  "actions": [
    {
      "id": "salesmate.create_company",
      "service": "salesmate",
      "name": "create_company",
      "description": "Create a company record in Salesmate CRM.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Name of the company. Salesmate documents a maximum length of 255."
          },
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "Salesmate user ID that owns this company."
          },
          "website": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Website URL of the company."
          },
          "phone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Primary phone number of the company."
          },
          "otherPhone": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Secondary phone number of the company."
          },
          "skypeId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 255,
            "description": "Skype ID of the company."
          },
          "facebookHandle": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Facebook profile or handle for the company."
          },
          "linkedInHandle": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "LinkedIn profile link for the company."
          },
          "twitterHandle": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Twitter profile or handle for the company."
          },
          "googlePlusHandle": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100,
            "description": "Google Plus profile or handle for the company."
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "Three-letter ISO currency code for the company, in uppercase."
          },
          "billingAddressLine1": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Line one of the billing address."
          },
          "billingAddressLine2": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Line two of the billing address."
          },
          "billingCity": {
            "type": "string",
            "minLength": 1,
            "maxLength": 50,
            "description": "Billing city name."
          },
          "billingZipCode": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Billing ZIP or postal code."
          },
          "billingState": {
            "type": "string",
            "minLength": 1,
            "maxLength": 30,
            "description": "Billing state name."
          },
          "billingCountry": {
            "type": "string",
            "minLength": 1,
            "maxLength": 20,
            "description": "Billing country name."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description attached to the company."
          },
          "tags": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000,
            "description": "Comma-separated tags associated with the company."
          },
          "customFields": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Additional Salesmate company custom fields keyed by field API name."
          }
        },
        "additionalProperties": false,
        "required": [
          "name"
        ],
        "description": "Fields for creating a Salesmate company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Salesmate company creation response."
      }
    },
    {
      "id": "salesmate.create_product",
      "service": "salesmate",
      "name": "create_product",
      "description": "Create a product in Salesmate.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Name of the product."
          },
          "sku": {
            "type": "string",
            "minLength": 1,
            "description": "Unique SKU or code of the product."
          },
          "currency": {
            "type": "string",
            "minLength": 3,
            "maxLength": 3,
            "description": "Three-letter ISO currency code for the product, in uppercase."
          },
          "unitPrice": {
            "type": "number",
            "description": "Sale price of the product."
          },
          "description": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2000,
            "description": "Description attached to the product."
          },
          "isActive": {
            "type": "boolean",
            "description": "Whether the product is active for sales."
          },
          "tags": {
            "type": "string",
            "minLength": 1,
            "maxLength": 5000,
            "description": "Comma-separated tags associated with the product."
          },
          "owner": {
            "type": "integer",
            "minimum": 1,
            "description": "Salesmate user ID that owns this product."
          },
          "costPerUnit": {
            "type": "number",
            "description": "Cost per unit for the product."
          },
          "directCost": {
            "type": "number",
            "description": "Direct cost of the product."
          }
        },
        "additionalProperties": false,
        "required": [
          "name",
          "currency",
          "unitPrice"
        ],
        "description": "Fields for creating a Salesmate product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Salesmate product creation response."
      }
    },
    {
      "id": "salesmate.delete_product",
      "service": "salesmate",
      "name": "delete_product",
      "description": "Delete a Salesmate product by product ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "productId": {
            "type": "integer",
            "minimum": 1,
            "description": "Unique identifier of the Salesmate product to delete."
          }
        },
        "additionalProperties": false,
        "description": "Input for deleting a Salesmate product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "description": "Whether Salesmate accepted the product deletion request."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Salesmate product deletion response."
      }
    },
    {
      "id": "salesmate.get_active_users",
      "service": "salesmate",
      "name": "get_active_users",
      "description": "List active Salesmate users.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for this Salesmate action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Salesmate response payload."
            },
            "description": "The active Salesmate user records."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Salesmate active users response."
      }
    },
    {
      "id": "salesmate.get_company",
      "service": "salesmate",
      "name": "get_company",
      "description": "Get a Salesmate company record by company ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "companyId": {
            "type": "integer",
            "minimum": 1,
            "description": "Unique identifier of the Salesmate company to retrieve."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a Salesmate company."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "company": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Salesmate company lookup response."
      }
    },
    {
      "id": "salesmate.list_modules",
      "service": "salesmate",
      "name": "list_modules",
      "description": "List Salesmate internal module identifiers.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required for this Salesmate action."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "modules": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "The raw Salesmate response payload."
            },
            "description": "The Salesmate module records."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw Salesmate response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Salesmate module list response."
      }
    }
  ]
}
