{
  "service": "recruiterflow",
  "displayName": "Recruiterflow",
  "categories": [
    "Productivity"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "RECRUITERFLOW_API_KEY",
      "description": "Recruiterflow API key sent with the RF-Api-Key header. Request a workspace API key from Recruiterflow support through in-app chat or help@recruiterflow.com; see the official API setup article: https://help.recruiterflow.com/en/articles/3671870-build-a-custom-careers-page-with-the-recruiterflow-api.",
      "extraFields": []
    }
  ],
  "homepageUrl": "https://recruiterflow.com",
  "actions": [
    {
      "id": "recruiterflow.get_candidate",
      "service": "recruiterflow",
      "name": "get_candidate",
      "description": "Get one Recruiterflow candidate by prospect ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "candidateId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Recruiterflow candidate or prospect identifier."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Recruiterflow candidate."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidate": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "One raw Recruiterflow record returned by the API."
          },
          "raw": {
            "description": "The raw Recruiterflow response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recruiterflow candidate."
      }
    },
    {
      "id": "recruiterflow.get_job",
      "service": "recruiterflow",
      "name": "get_job",
      "description": "Get one Recruiterflow job by its job ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Recruiterflow job identifier."
          },
          "includeStages": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include job pipeline stages."
          }
        },
        "additionalProperties": false,
        "required": [
          "jobId"
        ],
        "description": "The input payload for retrieving a Recruiterflow job."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "job": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "One raw Recruiterflow record returned by the API."
          },
          "raw": {
            "description": "The raw Recruiterflow response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recruiterflow job."
      }
    },
    {
      "id": "recruiterflow.get_user",
      "service": "recruiterflow",
      "name": "get_user",
      "description": "Get one Recruiterflow user by user ID or email address.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "integer",
            "minimum": 1,
            "description": "The Recruiterflow user identifier."
          },
          "email": {
            "type": "string",
            "minLength": 1,
            "description": "The Recruiterflow user email address."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for retrieving a Recruiterflow user."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "user": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "One raw Recruiterflow record returned by the API."
          },
          "raw": {
            "description": "The raw Recruiterflow response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when retrieving a Recruiterflow user."
      }
    },
    {
      "id": "recruiterflow.list_candidates",
      "service": "recruiterflow",
      "name": "list_candidates",
      "description": "List Recruiterflow candidates with optional pagination and inclusion flags.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemsPerPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to return per page."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to return."
          },
          "includeCount": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include total item counts."
          },
          "includeFiles": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include candidate file metadata."
          },
          "includeNotes": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include candidate notes."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Recruiterflow candidates."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "candidates": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One raw Recruiterflow record returned by the API."
            },
            "description": "The Recruiterflow candidates returned by the API."
          },
          "totalItems": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of matching records when Recruiterflow returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "rank": {
            "anyOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "Recruiterflow candidate rank metadata when returned."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Recruiterflow response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recruiterflow candidates."
      }
    },
    {
      "id": "recruiterflow.list_jobs",
      "service": "recruiterflow",
      "name": "list_jobs",
      "description": "List Recruiterflow jobs with optional pagination and inclusion flags.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemsPerPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The number of records to return per page."
          },
          "currentPage": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to return."
          },
          "includeCount": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include total item counts."
          },
          "includeNotes": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include job notes in each record."
          },
          "includeDescription": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include job descriptions in each record."
          },
          "onlyOpen": {
            "type": "boolean",
            "description": "Whether to return only open jobs."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Recruiterflow jobs."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "jobs": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One raw Recruiterflow record returned by the API."
            },
            "description": "The Recruiterflow jobs returned by the API."
          },
          "totalItems": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of matching records when Recruiterflow returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "totalCurrentOpenings": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of current openings when Recruiterflow returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Recruiterflow response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recruiterflow jobs."
      }
    },
    {
      "id": "recruiterflow.list_users",
      "service": "recruiterflow",
      "name": "list_users",
      "description": "List Recruiterflow users in the connected workspace.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "includeCount": {
            "type": "boolean",
            "description": "Whether Recruiterflow should include total user counts."
          }
        },
        "additionalProperties": false,
        "description": "The input payload for listing Recruiterflow users."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "users": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "One raw Recruiterflow record returned by the API."
            },
            "description": "The Recruiterflow users returned by the API."
          },
          "totalItems": {
            "anyOf": [
              {
                "type": "integer",
                "description": "The total number of matching records when Recruiterflow returns it."
              },
              {
                "type": "null"
              }
            ]
          },
          "raw": {
            "description": "The raw Recruiterflow response payload."
          }
        },
        "additionalProperties": false,
        "description": "The response returned when listing Recruiterflow users."
      }
    }
  ]
}
