{
  "service": "gosquared",
  "displayName": "GoSquared",
  "categories": [
    "Data",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "GOSQUARED_API_KEY",
      "description": "GoSquared API key passed as the api_key query parameter. Create or manage API keys in API Access settings: https://www.gosquared.com/settings/api.",
      "extraFields": [
        {
          "key": "siteToken",
          "label": "Site Token",
          "inputType": "text",
          "required": true,
          "secret": false,
          "placeholder": "GSN-106863-S",
          "description": "GoSquared site_token for the default project. Find it in Settings > Current Project > General: https://www.gosquared.com/setup/general."
        }
      ]
    }
  ],
  "homepageUrl": "https://www.gosquared.com/",
  "actions": [
    {
      "id": "gosquared.get_now_overview",
      "service": "gosquared",
      "name": "get_now_overview",
      "description": "Retrieve a realtime GoSquared Now overview for the configured project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "siteToken": {
            "type": "string",
            "minLength": 1,
            "description": "GoSquared site_token for the project to query. Omit this to use the siteToken saved on the connection."
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "description": "The start date-time for the GoSquared query."
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "description": "The end date-time for the GoSquared query."
          },
          "dateFormat": {
            "type": "string",
            "minLength": 1,
            "description": "Moment.js date format that GoSquared should use for returned date parameters."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a GoSquared Now overview."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON object returned by GoSquared."
          }
        },
        "additionalProperties": false,
        "required": [
          "raw"
        ],
        "description": "The GoSquared API response."
      }
    },
    {
      "id": "gosquared.get_now_time_series",
      "service": "gosquared",
      "name": "get_now_time_series",
      "description": "Retrieve GoSquared Now visitor counts over time for the configured project.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "siteToken": {
            "type": "string",
            "minLength": 1,
            "description": "GoSquared site_token for the project to query. Omit this to use the siteToken saved on the connection."
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "description": "The start date-time for the GoSquared query."
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "description": "The end date-time for the GoSquared query."
          },
          "interval": {
            "type": "string",
            "minLength": 1,
            "description": "Discrete time interval between Now Time Series points, such as 5min."
          },
          "dateFormat": {
            "type": "string",
            "minLength": 1,
            "description": "Moment.js date format that GoSquared should use for returned date parameters."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving a GoSquared Now time series."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON object returned by GoSquared."
          }
        },
        "additionalProperties": false,
        "required": [
          "raw"
        ],
        "description": "The GoSquared API response."
      }
    },
    {
      "id": "gosquared.get_token_info",
      "service": "gosquared",
      "name": "get_token_info",
      "description": "Fetch scope and authorization information for the connected GoSquared API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "This action does not require input fields."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "scopes": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "One GoSquared API key scope."
            },
            "description": "Scopes returned by GoSquared for the API key."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON object returned by GoSquared."
          }
        },
        "additionalProperties": false,
        "required": [
          "scopes",
          "raw"
        ],
        "description": "The GoSquared tokeninfo response."
      }
    },
    {
      "id": "gosquared.get_trends_aggregate",
      "service": "gosquared",
      "name": "get_trends_aggregate",
      "description": "Retrieve GoSquared Trends aggregate metrics for a project over a time period.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "siteToken": {
            "type": "string",
            "minLength": 1,
            "description": "GoSquared site_token for the project to query. Omit this to use the siteToken saved on the connection."
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "description": "The start date-time for the GoSquared query."
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "description": "The end date-time for the GoSquared query."
          },
          "dateFormat": {
            "type": "string",
            "minLength": 1,
            "description": "Moment.js date format that GoSquared should use for returned date parameters."
          },
          "limit": {
            "type": "string",
            "minLength": 1,
            "description": "Maximum number of results to return, either as a count such as 10 or offset,count such as 5,10."
          },
          "interval": {
            "type": "string",
            "enum": [
              "hour",
              "day",
              "month"
            ],
            "description": "Interval used to split GoSquared Trends Aggregate datapoints."
          }
        },
        "additionalProperties": false,
        "description": "Input parameters for retrieving GoSquared Trends aggregate data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The raw JSON object returned by GoSquared."
          }
        },
        "additionalProperties": false,
        "required": [
          "raw"
        ],
        "description": "The GoSquared API response."
      }
    }
  ]
}
