{
  "service": "docsbot_ai",
  "displayName": "DocsBot AI",
  "categories": [
    "AI",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "DOCSBOT_API_KEY",
      "description": "DocsBot AI user API key sent as a Bearer token. Create or change it from the API Keys section of your DocsBot dashboard: https://docsbot.ai/app/api"
    }
  ],
  "homepageUrl": "https://docsbot.ai",
  "actions": [
    {
      "id": "docsbot_ai.fetch_document",
      "service": "docsbot_ai",
      "name": "fetch_document",
      "description": "Fetch the full reconstructed document text for a DocsBot search result file ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot team ID."
          },
          "botId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot bot ID."
          },
          "fileId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot file ID returned by semantic_search."
          }
        },
        "additionalProperties": false,
        "description": "Input for fetching a reconstructed DocsBot document."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "document": {
            "type": "object",
            "properties": {
              "title": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The source title returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "url": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The source URL returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fileId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The file ID that can be used with fetch_document."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "page": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The PDF page number for the source when returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "content": {
                "type": "string",
                "description": "The raw text content returned by DocsBot."
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw DocsBot query source object returned by the API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized DocsBot query source."
          }
        },
        "additionalProperties": false,
        "description": "The reconstructed DocsBot document returned by fetch."
      }
    },
    {
      "id": "docsbot_ai.get_bot",
      "service": "docsbot_ai",
      "name": "get_bot",
      "description": "Get a DocsBot bot by team and bot ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot team ID."
          },
          "botId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot bot ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a DocsBot bot."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "bot": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The DocsBot bot ID."
              },
              "name": {
                "type": "string",
                "description": "The DocsBot bot name."
              },
              "description": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The DocsBot bot description when returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "privacy": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The DocsBot bot privacy such as public or private."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The DocsBot bot status such as ready, pending, indexing, or processing."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "model": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The DocsBot model configured for the bot when returned."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The bot creation timestamp when returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "questionCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The AI credits used by this DocsBot resource in the current billing period."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pageCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of pages crawled by this DocsBot resource."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sourceCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of sources crawled by this DocsBot resource."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "chunkCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of chunks crawled by this DocsBot resource."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw DocsBot bot object returned by the API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized DocsBot bot."
          }
        },
        "additionalProperties": false,
        "description": "The requested DocsBot bot."
      }
    },
    {
      "id": "docsbot_ai.get_team",
      "service": "docsbot_ai",
      "name": "get_team",
      "description": "Get a DocsBot team by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot team ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving a DocsBot team."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "team": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The DocsBot team ID."
              },
              "name": {
                "type": "string",
                "description": "The DocsBot team name."
              },
              "createdAt": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The team creation timestamp when returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "status": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The DocsBot team status such as ready or pending."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "botCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of bots in the team when returned by DocsBot."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "questionCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The AI credits used by this DocsBot resource in the current billing period."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "pageCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of pages crawled by this DocsBot resource."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "sourceCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of sources crawled by this DocsBot resource."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "chunkCount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The number of chunks crawled by this DocsBot resource."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "raw": {
                "type": "object",
                "properties": {},
                "additionalProperties": true,
                "description": "The raw DocsBot team object returned by the API."
              }
            },
            "additionalProperties": false,
            "description": "A normalized DocsBot team."
          }
        },
        "additionalProperties": false,
        "description": "The requested DocsBot team."
      }
    },
    {
      "id": "docsbot_ai.list_bots",
      "service": "docsbot_ai",
      "name": "list_bots",
      "description": "List DocsBot bots in a team.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot team ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing DocsBot bots in a team."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "bots": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The DocsBot bot ID."
                },
                "name": {
                  "type": "string",
                  "description": "The DocsBot bot name."
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The DocsBot bot description when returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "privacy": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The DocsBot bot privacy such as public or private."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The DocsBot bot status such as ready, pending, indexing, or processing."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "model": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The DocsBot model configured for the bot when returned."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The bot creation timestamp when returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "questionCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The AI credits used by this DocsBot resource in the current billing period."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pageCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of pages crawled by this DocsBot resource."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "sourceCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of sources crawled by this DocsBot resource."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "chunkCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of chunks crawled by this DocsBot resource."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw DocsBot bot object returned by the API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized DocsBot bot."
            },
            "description": "The DocsBot bots returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "DocsBot bots in the requested team."
      }
    },
    {
      "id": "docsbot_ai.list_teams",
      "service": "docsbot_ai",
      "name": "list_teams",
      "description": "List DocsBot teams visible to the API key user.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list DocsBot teams."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "teams": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The DocsBot team ID."
                },
                "name": {
                  "type": "string",
                  "description": "The DocsBot team name."
                },
                "createdAt": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The team creation timestamp when returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "status": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The DocsBot team status such as ready or pending."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "botCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of bots in the team when returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "questionCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The AI credits used by this DocsBot resource in the current billing period."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "pageCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of pages crawled by this DocsBot resource."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "sourceCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of sources crawled by this DocsBot resource."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "chunkCount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The number of chunks crawled by this DocsBot resource."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw DocsBot team object returned by the API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized DocsBot team."
            },
            "description": "The DocsBot teams returned by the API."
          }
        },
        "additionalProperties": false,
        "description": "DocsBot teams visible to the API key user."
      }
    },
    {
      "id": "docsbot_ai.semantic_search",
      "service": "docsbot_ai",
      "name": "semantic_search",
      "description": "Search a DocsBot bot's trained source chunks by natural-language query.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "teamId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot team ID."
          },
          "botId": {
            "type": "string",
            "minLength": 1,
            "description": "The DocsBot bot ID."
          },
          "query": {
            "type": "string",
            "minLength": 1,
            "description": "The natural-language search query."
          },
          "top_k": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1,
                "description": "The maximum number of chunks to return."
              },
              {
                "type": "null"
              }
            ]
          },
          "autocut": {
            "anyOf": [
              {
                "type": "boolean",
                "description": "Whether to apply autocut grouping."
              },
              {
                "type": "integer",
                "minimum": 1,
                "description": "The number of autocut groups to return."
              }
            ],
            "description": "Whether to apply autocut grouping, or the number of groups to return."
          },
          "alpha": {
            "anyOf": [
              {
                "type": "number",
                "minimum": 0,
                "maximum": 1,
                "description": "Hybrid balance where 0 is keyword search and 1 is semantic search."
              },
              {
                "type": "null"
              }
            ]
          },
          "use_glossary": {
            "type": "boolean",
            "description": "Whether DocsBot should apply bot glossary rewrites to the query."
          },
          "tags": {
            "anyOf": [
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "minLength": 1,
                  "description": "One DocsBot source tag key."
                },
                "description": "DocsBot source tags used to filter retrieval results."
              },
              {
                "type": "null"
              }
            ]
          },
          "include_untagged": {
            "type": "boolean",
            "description": "Whether untagged chunks should be included when tags are supplied."
          }
        },
        "additionalProperties": false,
        "required": [
          "teamId",
          "botId",
          "query"
        ],
        "description": "Input for searching DocsBot bot training data."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "title": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The source title returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "url": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The source URL returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "fileId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The file ID that can be used with fetch_document."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "page": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The PDF page number for the source when returned by DocsBot."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "content": {
                  "type": "string",
                  "description": "The raw text content returned by DocsBot."
                },
                "raw": {
                  "type": "object",
                  "properties": {},
                  "additionalProperties": true,
                  "description": "The raw DocsBot query source object returned by the API."
                }
              },
              "additionalProperties": false,
              "description": "A normalized DocsBot query source."
            },
            "description": "The DocsBot query sources returned by semantic search."
          }
        },
        "additionalProperties": false,
        "description": "DocsBot semantic search results."
      }
    }
  ]
}
