{
  "service": "simplesat",
  "displayName": "Simplesat",
  "categories": [
    "Marketing",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "SIMPLESAT_API_KEY",
      "description": "Simplesat API key sent with the X-Simplesat-Token header. Create and manage API keys from the Simplesat API keys page: https://app.simplesat.io/settings/api-keys/."
    }
  ],
  "homepageUrl": "https://www.simplesat.io/",
  "actions": [
    {
      "id": "simplesat.create_or_update_customer",
      "service": "simplesat",
      "name": "create_or_update_customer",
      "description": "Create or update a Simplesat customer by email, overwriting tags or custom attributes when provided.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "The customer identifier from an external system."
          },
          "email": {
            "type": "string",
            "description": "The customer email address.",
            "format": "email"
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "The customer full name."
          },
          "company": {
            "type": "string",
            "minLength": 1,
            "description": "The customer company name."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The customer language code."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Simplesat tag."
            },
            "description": "Tags associated with the Simplesat record."
          },
          "customAttributes": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON value for the custom attribute."
            },
            "description": "Custom attributes keyed by Simplesat attribute name."
          }
        },
        "additionalProperties": false,
        "required": [
          "email"
        ],
        "description": "The customer fields to create or update in Simplesat."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Simplesat customer ID."
          },
          "external_id": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The external identifier as a string."
                  },
                  {
                    "type": "integer",
                    "description": "The external identifier as a number."
                  }
                ],
                "description": "The external identifier returned by Simplesat."
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The customer name."
          },
          "email": {
            "type": "string",
            "description": "The customer email address.",
            "format": "email"
          },
          "company": {
            "type": "string",
            "description": "The customer company name."
          },
          "language": {
            "type": "string",
            "description": "The customer's language code."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Simplesat tag."
            },
            "description": "Tags associated with the Simplesat record."
          },
          "custom_attributes": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON value for the custom attribute."
            },
            "description": "Custom attributes keyed by Simplesat attribute name."
          },
          "created": {
            "type": "string",
            "description": "The timestamp when this customer was created."
          },
          "modified": {
            "type": "string",
            "description": "The timestamp when this customer was last modified."
          },
          "subscribed": {
            "type": "boolean",
            "description": "Whether this customer is subscribed."
          }
        },
        "additionalProperties": true,
        "description": "A Simplesat customer object."
      }
    },
    {
      "id": "simplesat.get_customer",
      "service": "simplesat",
      "name": "get_customer",
      "description": "Get a single Simplesat customer by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "customerId": {
            "type": "string",
            "minLength": 1,
            "description": "The Simplesat customer ID to retrieve."
          }
        },
        "additionalProperties": false,
        "required": [
          "customerId"
        ],
        "description": "The customer lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Simplesat customer ID."
          },
          "external_id": {
            "anyOf": [
              {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The external identifier as a string."
                  },
                  {
                    "type": "integer",
                    "description": "The external identifier as a number."
                  }
                ],
                "description": "The external identifier returned by Simplesat."
              },
              {
                "type": "null"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "The customer name."
          },
          "email": {
            "type": "string",
            "description": "The customer email address.",
            "format": "email"
          },
          "company": {
            "type": "string",
            "description": "The customer company name."
          },
          "language": {
            "type": "string",
            "description": "The customer's language code."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Simplesat tag."
            },
            "description": "Tags associated with the Simplesat record."
          },
          "custom_attributes": {
            "type": "object",
            "additionalProperties": {
              "description": "A JSON value for the custom attribute."
            },
            "description": "Custom attributes keyed by Simplesat attribute name."
          },
          "created": {
            "type": "string",
            "description": "The timestamp when this customer was created."
          },
          "modified": {
            "type": "string",
            "description": "The timestamp when this customer was last modified."
          },
          "subscribed": {
            "type": "boolean",
            "description": "Whether this customer is subscribed."
          }
        },
        "additionalProperties": true,
        "description": "A Simplesat customer object."
      }
    },
    {
      "id": "simplesat.get_response",
      "service": "simplesat",
      "name": "get_response",
      "description": "Get a single Simplesat survey response by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "responseId": {
            "type": "string",
            "minLength": 1,
            "description": "The Simplesat response ID to retrieve."
          }
        },
        "additionalProperties": false,
        "required": [
          "responseId"
        ],
        "description": "The response lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Simplesat response ID."
          },
          "survey": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The survey metadata returned with this response."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "One Simplesat tag."
            },
            "description": "Tags associated with the Simplesat record."
          },
          "created": {
            "type": "string",
            "description": "The timestamp when this response was created."
          },
          "modified": {
            "type": "string",
            "description": "The timestamp when this response was last modified."
          },
          "customer": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "The customer metadata returned with this response."
          },
          "answers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One answer object."
            },
            "description": "The answers included in this response."
          }
        },
        "additionalProperties": true,
        "description": "A Simplesat survey response object."
      }
    },
    {
      "id": "simplesat.list_customers",
      "service": "simplesat",
      "name": "list_customers",
      "description": "List one page of Simplesat customers with optional date and subscription filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based page number to request from Simplesat."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 250,
            "description": "The number of customers to request per page."
          },
          "createdAfter": {
            "type": "string",
            "description": "Filter customers created after this timestamp.",
            "format": "date-time"
          },
          "createdBefore": {
            "type": "string",
            "description": "Filter customers created before this timestamp.",
            "format": "date-time"
          },
          "modifiedAfter": {
            "type": "string",
            "description": "Filter customers modified after this timestamp.",
            "format": "date-time"
          },
          "modifiedBefore": {
            "type": "string",
            "description": "Filter customers modified before this timestamp.",
            "format": "date-time"
          },
          "subscribed": {
            "type": "boolean",
            "description": "Filter customers by subscription status."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing Simplesat customers."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "count": {
            "type": "integer",
            "description": "The total number of customers matching the query."
          },
          "customers": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The Simplesat customer ID."
                },
                "external_id": {
                  "anyOf": [
                    {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The external identifier as a string."
                        },
                        {
                          "type": "integer",
                          "description": "The external identifier as a number."
                        }
                      ],
                      "description": "The external identifier returned by Simplesat."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "type": "string",
                  "description": "The customer name."
                },
                "email": {
                  "type": "string",
                  "description": "The customer email address.",
                  "format": "email"
                },
                "company": {
                  "type": "string",
                  "description": "The customer company name."
                },
                "language": {
                  "type": "string",
                  "description": "The customer's language code."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "One Simplesat tag."
                  },
                  "description": "Tags associated with the Simplesat record."
                },
                "custom_attributes": {
                  "type": "object",
                  "additionalProperties": {
                    "description": "A JSON value for the custom attribute."
                  },
                  "description": "Custom attributes keyed by Simplesat attribute name."
                },
                "created": {
                  "type": "string",
                  "description": "The timestamp when this customer was created."
                },
                "modified": {
                  "type": "string",
                  "description": "The timestamp when this customer was last modified."
                },
                "subscribed": {
                  "type": "boolean",
                  "description": "Whether this customer is subscribed."
                }
              },
              "additionalProperties": true,
              "description": "A Simplesat customer object."
            },
            "description": "The customers returned on this page."
          }
        },
        "additionalProperties": false,
        "description": "A page of Simplesat customers."
      }
    },
    {
      "id": "simplesat.list_questions",
      "service": "simplesat",
      "name": "list_questions",
      "description": "List one page of Simplesat questions with optional survey and metric filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based page number to request from Simplesat."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to request per page."
          },
          "surveyId": {
            "type": "integer",
            "minimum": 1,
            "description": "Filter questions by Simplesat survey ID."
          },
          "metric": {
            "type": "string",
            "minLength": 1,
            "description": "Filter questions by metric, such as csat, nps, or ces."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing Simplesat questions."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "count": {
            "type": "integer",
            "description": "The total number of questions matching the query."
          },
          "questions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The Simplesat question ID."
                },
                "text": {
                  "type": "string",
                  "description": "The question text."
                },
                "metric": {
                  "type": "string",
                  "description": "The question metric."
                },
                "order": {
                  "type": "integer",
                  "description": "The question display order."
                },
                "rating_scale": {
                  "type": "boolean",
                  "description": "Whether the question uses a rating scale."
                },
                "required": {
                  "type": "boolean",
                  "description": "Whether answering this question is required."
                },
                "survey": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The survey that owns this question."
                },
                "choices": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One answer choice."
                  },
                  "description": "The answer choices configured for this question."
                },
                "rules": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "One Simplesat question rule."
                  },
                  "description": "Conditional display rules configured for this question."
                }
              },
              "additionalProperties": true,
              "description": "A Simplesat question object."
            },
            "description": "The questions returned on this page."
          }
        },
        "additionalProperties": false,
        "description": "A page of Simplesat questions."
      }
    },
    {
      "id": "simplesat.list_surveys",
      "service": "simplesat",
      "name": "list_surveys",
      "description": "List one page of Simplesat surveys.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based page number to request from Simplesat."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to request per page."
          }
        },
        "additionalProperties": false,
        "description": "Filters for listing Simplesat surveys."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "count": {
            "type": "integer",
            "description": "The total number of surveys matching the query."
          },
          "surveys": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The Simplesat survey ID."
                },
                "name": {
                  "type": "string",
                  "description": "The survey name."
                },
                "metric": {
                  "type": "string",
                  "description": "The survey metric, such as CSAT, NPS, or CES."
                },
                "survey_token": {
                  "type": "string",
                  "description": "The Simplesat survey token."
                },
                "survey_type": {
                  "type": "string",
                  "description": "The Simplesat survey type."
                },
                "brand_name": {
                  "type": "string",
                  "description": "The survey brand name."
                }
              },
              "additionalProperties": true,
              "description": "A Simplesat survey object."
            },
            "description": "The surveys returned on this page."
          }
        },
        "additionalProperties": false,
        "description": "A page of Simplesat surveys."
      }
    },
    {
      "id": "simplesat.search_responses",
      "service": "simplesat",
      "name": "search_responses",
      "description": "Search one page of Simplesat survey responses with documented date and field filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The one-based page number to request from Simplesat."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of records to request per page."
          },
          "startDate": {
            "type": "string",
            "description": "Legacy response search start timestamp accepted by Simplesat.",
            "format": "date-time"
          },
          "endDate": {
            "type": "string",
            "description": "Legacy response search end timestamp accepted by Simplesat.",
            "format": "date-time"
          },
          "createdStartDate": {
            "type": "string",
            "description": "Filter responses created on or after this timestamp.",
            "format": "date-time"
          },
          "createdEndDate": {
            "type": "string",
            "description": "Filter responses created on or before this timestamp.",
            "format": "date-time"
          },
          "modifiedStartDate": {
            "type": "string",
            "description": "Filter responses modified on or after this timestamp.",
            "format": "date-time"
          },
          "modifiedEndDate": {
            "type": "string",
            "description": "Filter responses modified on or before this timestamp.",
            "format": "date-time"
          },
          "operator": {
            "type": "string",
            "enum": [
              "and",
              "or"
            ],
            "description": "How Simplesat should combine multiple response filters."
          },
          "filters": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "key": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The response field to filter on, such as customer.email, survey, tag, ticket_id, or customer.attribute."
                },
                "comparison": {
                  "type": "string",
                  "enum": [
                    "is",
                    "is_not",
                    "contains",
                    "does_not_contain",
                    "is_unknown",
                    "has_any_value"
                  ],
                  "description": "The comparison operator to apply to this response filter."
                },
                "values": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "One response filter value."
                  },
                  "description": "The values to compare against when the comparison operator expects values.",
                  "minItems": 1
                },
                "attribute": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The custom attribute name when key is customer.attribute or ticket.attribute."
                }
              },
              "additionalProperties": false,
              "required": [
                "key",
                "comparison"
              ],
              "description": "A documented Simplesat response search filter."
            },
            "description": "Response filters to apply.",
            "minItems": 1
          }
        },
        "additionalProperties": false,
        "description": "Filters for searching Simplesat responses."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "next": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "previous": {
            "anyOf": [
              {
                "type": "string",
                "description": "A Simplesat pagination URL, or null when that page is not available."
              },
              {
                "type": "null"
              }
            ]
          },
          "count": {
            "type": "integer",
            "description": "The total number of responses matching the query."
          },
          "responses": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The Simplesat response ID."
                },
                "survey": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The survey metadata returned with this response."
                },
                "tags": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "description": "One Simplesat tag."
                  },
                  "description": "Tags associated with the Simplesat record."
                },
                "created": {
                  "type": "string",
                  "description": "The timestamp when this response was created."
                },
                "modified": {
                  "type": "string",
                  "description": "The timestamp when this response was last modified."
                },
                "customer": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The customer metadata returned with this response."
                },
                "answers": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "One answer object."
                  },
                  "description": "The answers included in this response."
                }
              },
              "additionalProperties": true,
              "description": "A Simplesat survey response object."
            },
            "description": "The responses returned on this page."
          }
        },
        "additionalProperties": false,
        "description": "A page of Simplesat responses."
      }
    },
    {
      "id": "simplesat.send_survey_email",
      "service": "simplesat",
      "name": "send_survey_email",
      "description": "Schedule a Simplesat event-based survey email for a customer with optional team member and ticket metadata.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "surveyToken": {
            "type": "string",
            "minLength": 1,
            "description": "The event-based Simplesat survey token to send."
          },
          "customer": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The customer identifier from an external system."
              },
              "email": {
                "type": "string",
                "description": "The customer email address that should receive the survey.",
                "format": "email"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The customer full name."
              },
              "company": {
                "type": "string",
                "minLength": 1,
                "description": "The customer company name."
              },
              "language": {
                "type": "string",
                "minLength": 1,
                "description": "The customer language code."
              },
              "customAttributes": {
                "type": "object",
                "additionalProperties": {
                  "description": "A JSON value for the custom attribute."
                },
                "description": "Custom attributes keyed by Simplesat attribute name."
              }
            },
            "additionalProperties": false,
            "required": [
              "email"
            ],
            "description": "The customer who should receive the survey email."
          },
          "teamMember": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The team member identifier from an external system."
              },
              "email": {
                "type": "string",
                "description": "The team member email address.",
                "format": "email"
              },
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The team member full name."
              },
              "customAttributes": {
                "type": "object",
                "additionalProperties": {
                  "description": "A JSON value for the custom attribute."
                },
                "description": "Custom attributes keyed by Simplesat attribute name."
              }
            },
            "additionalProperties": false,
            "description": "The team member metadata to associate with the survey email."
          },
          "ticket": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1,
                "description": "The ticket identifier from an external system."
              },
              "subject": {
                "type": "string",
                "minLength": 1,
                "description": "The ticket subject."
              },
              "customAttributes": {
                "type": "object",
                "additionalProperties": {
                  "description": "A JSON value for the custom attribute."
                },
                "description": "Custom attributes keyed by Simplesat attribute name."
              }
            },
            "additionalProperties": false,
            "description": "The ticket metadata to associate with the survey email."
          }
        },
        "additionalProperties": false,
        "required": [
          "surveyToken",
          "customer"
        ],
        "description": "The survey email scheduling payload."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "detail": {
            "type": "string",
            "description": "The scheduling status message returned by Simplesat."
          }
        },
        "additionalProperties": false,
        "description": "The Simplesat survey email scheduling response."
      }
    }
  ]
}
