{
  "service": "sage_sales_management",
  "displayName": "Sage Sales Management",
  "categories": [
    "Marketing"
  ],
  "authTypes": [
    "custom_credential"
  ],
  "auth": [
    {
      "type": "custom_credential",
      "fields": [
        {
          "key": "publicApiKey",
          "label": "Public API Key",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "SAGE_SALES_MANAGEMENT_PUBLIC_API_KEY",
          "description": "Sage Sales Management public API key used as the /login username. Admins can find API keys in Settings > Integrations > API key management in the web app or ForceAdmin."
        },
        {
          "key": "privateApiKey",
          "label": "Private API Key",
          "inputType": "password",
          "required": true,
          "secret": true,
          "placeholder": "SAGE_SALES_MANAGEMENT_PRIVATE_API_KEY",
          "description": "Sage Sales Management private API key used as the /login password. Admins can view or generate it in ForceAdmin API keys."
        }
      ],
      "testAction": {
        "actionName": "list_accounts",
        "input": {
          "count": 1
        }
      }
    }
  ],
  "homepageUrl": "https://www.forcemanager.com/",
  "actions": [
    {
      "id": "sage_sales_management.create_account",
      "service": "sage_sales_management",
      "name": "create_account",
      "description": "Create one Sage Sales Management account.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official Sage Sales Management account fields to send as the request body."
          }
        },
        "additionalProperties": false,
        "description": "Fields for creating a Sage Sales Management account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management account record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management account response."
      }
    },
    {
      "id": "sage_sales_management.create_contact",
      "service": "sage_sales_management",
      "name": "create_contact",
      "description": "Create one Sage Sales Management contact.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official Sage Sales Management contact fields to send as the request body."
          }
        },
        "additionalProperties": false,
        "description": "Fields for creating a Sage Sales Management contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management contact record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management contact response."
      }
    },
    {
      "id": "sage_sales_management.create_opportunity",
      "service": "sage_sales_management",
      "name": "create_opportunity",
      "description": "Create one Sage Sales Management opportunity.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official Sage Sales Management opportunity fields to send as the request body."
          }
        },
        "additionalProperties": false,
        "description": "Fields for creating a Sage Sales Management opportunity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management opportunity record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management opportunity response."
      }
    },
    {
      "id": "sage_sales_management.delete_account",
      "service": "sage_sales_management",
      "name": "delete_account",
      "description": "Delete one Sage Sales Management account by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management resource identifier input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether Sage Sales Management accepted the delete request."
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status returned by Sage Sales Management."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management delete response."
      }
    },
    {
      "id": "sage_sales_management.delete_contact",
      "service": "sage_sales_management",
      "name": "delete_contact",
      "description": "Delete one Sage Sales Management contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management resource identifier input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether Sage Sales Management accepted the delete request."
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status returned by Sage Sales Management."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management delete response."
      }
    },
    {
      "id": "sage_sales_management.delete_opportunity",
      "service": "sage_sales_management",
      "name": "delete_opportunity",
      "description": "Delete one Sage Sales Management opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management resource identifier input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether Sage Sales Management accepted the delete request."
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status returned by Sage Sales Management."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management delete response."
      }
    },
    {
      "id": "sage_sales_management.get_account",
      "service": "sage_sales_management",
      "name": "get_account",
      "description": "Get one Sage Sales Management account by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management resource identifier input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management account record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management account response."
      }
    },
    {
      "id": "sage_sales_management.get_accounts_schema",
      "service": "sage_sales_management",
      "name": "get_accounts_schema",
      "description": "Get the Sage Sales Management Accounts schema metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for getting the Accounts schema."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "schema": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The official Sage Sales Management schema object."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Sage Sales Management resource schema response."
      }
    },
    {
      "id": "sage_sales_management.get_contact",
      "service": "sage_sales_management",
      "name": "get_contact",
      "description": "Get one Sage Sales Management contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management resource identifier input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management contact record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management contact response."
      }
    },
    {
      "id": "sage_sales_management.get_contacts_schema",
      "service": "sage_sales_management",
      "name": "get_contacts_schema",
      "description": "Get the Sage Sales Management Contacts schema metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for getting the Contacts schema."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "schema": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The official Sage Sales Management schema object."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Sage Sales Management resource schema response."
      }
    },
    {
      "id": "sage_sales_management.get_opportunities_schema",
      "service": "sage_sales_management",
      "name": "get_opportunities_schema",
      "description": "Get the Sage Sales Management Opportunities schema metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "The input payload for getting the Opportunities schema."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "schema": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The official Sage Sales Management schema object."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Sage Sales Management resource schema response."
      }
    },
    {
      "id": "sage_sales_management.get_opportunity",
      "service": "sage_sales_management",
      "name": "get_opportunity",
      "description": "Get one Sage Sales Management opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management resource identifier input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management opportunity record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management opportunity response."
      }
    },
    {
      "id": "sage_sales_management.list_accounts",
      "service": "sage_sales_management",
      "name": "list_accounts",
      "description": "List Sage Sales Management accounts with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based page number to request."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to return in the page."
          },
          "where": {
            "type": "string",
            "minLength": 1,
            "description": "The official Sage Sales Management SQL-like where filter."
          },
          "order": {
            "type": "string",
            "minLength": 1,
            "description": "The official Sage Sales Management order expression."
          },
          "lang": {
            "type": "string",
            "minLength": 1,
            "description": "The response language code requested from Sage Sales Management."
          },
          "extraFieldDescription": {
            "type": "boolean",
            "description": "Whether Sage Sales Management should include extra field descriptions in each record."
          }
        },
        "additionalProperties": false,
        "description": "Filters, ordering, and pagination for listing Sage Sales Management resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "accounts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Sage Sales Management account record."
            },
            "description": "The Sage Sales Management account records returned by the API."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management account list response."
      }
    },
    {
      "id": "sage_sales_management.list_contacts",
      "service": "sage_sales_management",
      "name": "list_contacts",
      "description": "List Sage Sales Management contacts with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based page number to request."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to return in the page."
          },
          "where": {
            "type": "string",
            "minLength": 1,
            "description": "The official Sage Sales Management SQL-like where filter."
          },
          "order": {
            "type": "string",
            "minLength": 1,
            "description": "The official Sage Sales Management order expression."
          },
          "lang": {
            "type": "string",
            "minLength": 1,
            "description": "The response language code requested from Sage Sales Management."
          },
          "extraFieldDescription": {
            "type": "boolean",
            "description": "Whether Sage Sales Management should include extra field descriptions in each record."
          }
        },
        "additionalProperties": false,
        "description": "Filters, ordering, and pagination for listing Sage Sales Management resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contacts": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Sage Sales Management contact record."
            },
            "description": "The Sage Sales Management contact records returned by the API."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management contact list response."
      }
    },
    {
      "id": "sage_sales_management.list_opportunities",
      "service": "sage_sales_management",
      "name": "list_opportunities",
      "description": "List Sage Sales Management opportunities with optional filters and pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based page number to request."
          },
          "count": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to return in the page."
          },
          "where": {
            "type": "string",
            "minLength": 1,
            "description": "The official Sage Sales Management SQL-like where filter."
          },
          "order": {
            "type": "string",
            "minLength": 1,
            "description": "The official Sage Sales Management order expression."
          },
          "lang": {
            "type": "string",
            "minLength": 1,
            "description": "The response language code requested from Sage Sales Management."
          },
          "extraFieldDescription": {
            "type": "boolean",
            "description": "Whether Sage Sales Management should include extra field descriptions in each record."
          }
        },
        "additionalProperties": false,
        "description": "Filters, ordering, and pagination for listing Sage Sales Management resources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunities": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Sage Sales Management opportunity record."
            },
            "description": "The Sage Sales Management opportunity records returned by the API."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management opportunity list response."
      }
    },
    {
      "id": "sage_sales_management.update_account",
      "service": "sage_sales_management",
      "name": "update_account",
      "description": "Update one Sage Sales Management account by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official Sage Sales Management account fields to send as the request body."
          }
        },
        "additionalProperties": false,
        "description": "Fields for updating a Sage Sales Management account."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "account": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management account record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management account response."
      }
    },
    {
      "id": "sage_sales_management.update_contact",
      "service": "sage_sales_management",
      "name": "update_contact",
      "description": "Update one Sage Sales Management contact by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official Sage Sales Management contact fields to send as the request body."
          }
        },
        "additionalProperties": false,
        "description": "Fields for updating a Sage Sales Management contact."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "contact": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management contact record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management contact response."
      }
    },
    {
      "id": "sage_sales_management.update_opportunity",
      "service": "sage_sales_management",
      "name": "update_opportunity",
      "description": "Update one Sage Sales Management opportunity by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "minimum": 1,
            "description": "The Sage Sales Management resource identifier."
          },
          "data": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Official Sage Sales Management opportunity fields to send as the request body."
          }
        },
        "additionalProperties": false,
        "description": "Fields for updating a Sage Sales Management opportunity."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "opportunity": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The Sage Sales Management opportunity record."
          },
          "raw": {
            "description": "The raw Sage Sales Management response payload."
          }
        },
        "additionalProperties": false,
        "description": "The Sage Sales Management opportunity response."
      }
    }
  ]
}
