{
  "service": "dialpad_wfm",
  "displayName": "Dialpad WFM",
  "categories": [
    "Productivity",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Access Token",
      "placeholder": "DIALPAD_WFM_ACCESS_TOKEN",
      "description": "Dialpad WFM API access token sent as a Bearer token. Request it from your Dialpad WFM customer success manager as described in the official API docs: https://help.dialpad.com/docs/wfm-apis"
    }
  ],
  "homepageUrl": "https://www.dialpad.com/features/workforce-management-software/",
  "actions": [
    {
      "id": "dialpad_wfm.get_schedule",
      "service": "dialpad_wfm",
      "name": "get_schedule",
      "description": "Retrieve one page of Dialpad WFM schedule entries for an RFC 3339 time interval.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Start of the reporting interval in RFC 3339 format.",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "End of the reporting interval in RFC 3339 format.",
            "format": "date-time"
          },
          "includeDeletedAgents": {
            "type": "boolean",
            "description": "Whether to include deleted agent schedules. Dialpad WFM defaults this to true."
          },
          "pageSize": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of schedule entries to return in one response. Dialpad WFM defaults to 100."
          },
          "pageAfter": {
            "type": "string",
            "minLength": 1,
            "description": "Schedule pagination cursor from the links.next URL in a previous response."
          }
        },
        "additionalProperties": false,
        "required": [
          "start",
          "end"
        ],
        "description": "Filters and pagination options for retrieving Dialpad WFM schedule entries."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One Dialpad WFM schedule entry."
            },
            "description": "The schedule entries returned for this page."
          },
          "links": {
            "type": "object",
            "properties": {
              "self": {
                "type": "string",
                "minLength": 1,
                "description": "The URL of this page of schedule results."
              },
              "next": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1,
                    "description": "The URL of the next page of schedule results, or null when there are no more pages."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": true,
            "description": "Dialpad WFM schedule pagination links."
          }
        },
        "additionalProperties": false,
        "required": [
          "data",
          "links"
        ],
        "description": "One page of Dialpad WFM schedule entries."
      }
    },
    {
      "id": "dialpad_wfm.list_activity_metrics",
      "service": "dialpad_wfm",
      "name": "list_activity_metrics",
      "description": "Retrieve one cursor page of Dialpad WFM activity metrics for an RFC 3339 interval.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Start of the reporting interval in RFC 3339 format.",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "End of the reporting interval in RFC 3339 format.",
            "format": "date-time"
          },
          "emails": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated agent email addresses to filter by."
          },
          "includeDeletedAgents": {
            "type": "boolean",
            "description": "Whether to include deleted agents in the response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum number of metric records to return. Dialpad WFM defaults to 500 and caps the value at 500."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a previous Dialpad WFM response."
          }
        },
        "additionalProperties": false,
        "required": [
          "start",
          "end"
        ],
        "description": "Filters and pagination options for Dialpad WFM activity metrics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One raw Dialpad WFM activity metric record."
            },
            "description": "The metric records returned for this page."
          },
          "cursor": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The pagination cursor for the next page, or null when there are no more results."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "items",
          "cursor"
        ],
        "description": "One page of Dialpad WFM activity metric records."
      }
    },
    {
      "id": "dialpad_wfm.list_agent_metrics",
      "service": "dialpad_wfm",
      "name": "list_agent_metrics",
      "description": "Retrieve one cursor page of Dialpad WFM agent metrics for an RFC 3339 interval.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "start": {
            "type": "string",
            "description": "Start of the reporting interval in RFC 3339 format.",
            "format": "date-time"
          },
          "end": {
            "type": "string",
            "description": "End of the reporting interval in RFC 3339 format.",
            "format": "date-time"
          },
          "emails": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated agent email addresses to filter by."
          },
          "includeDeletedAgents": {
            "type": "boolean",
            "description": "Whether to include deleted agents in the response."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "Maximum number of metric records to return. Dialpad WFM defaults to 500 and caps the value at 500."
          },
          "cursor": {
            "type": "string",
            "minLength": 1,
            "description": "Pagination cursor from a previous Dialpad WFM response."
          }
        },
        "additionalProperties": false,
        "required": [
          "start",
          "end"
        ],
        "description": "Filters and pagination options for Dialpad WFM agent metrics."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One raw Dialpad WFM agent metric record."
            },
            "description": "The metric records returned for this page."
          },
          "cursor": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "description": "The pagination cursor for the next page, or null when there are no more results."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "items",
          "cursor"
        ],
        "description": "One page of Dialpad WFM agent metric records."
      }
    }
  ]
}
