# Skribby > Skribby is a Meeting Bot API that lets developers deploy bots into Zoom, Microsoft Teams, and Google Meet to capture audio, video, and real-time transcription with a single integration. All documentation pages below are available as clean Markdown by appending `.md` to the URL path (e.g. `/docs/guides/quickstart.md`). ## Guides - [Api Debugging](https://skribby.io/docs/guides/api-debugging.md): The API Request Logs in your Skribby dashboard provide visibility into every API call made to your organization. Use these logs to debug integration issues, trace failed requests, and understand API behavior. - [Best Practices](https://skribby.io/docs/guides/best-practices.md): Building a production-ready meeting bot integration requires more than just calling an API. This guide covers the architectural and operational patterns used by the world's leading meeting intelligence platforms. - [Billing](https://skribby.io/docs/guides/billing.md): Complete reference for Skribby pricing, plan limits, and billing. - [Bot Authentication](https://skribby.io/docs/guides/bot-authentication.md): By default, Skribby bots join meetings as Guests. However, many organizations block guest access for security. To bypass these restrictions, you must authenticate your bot as a real user. - [Bot Detection](https://skribby.io/docs/guides/bot-detection.md): Meeting platforms like Google Meet, Zoom, and Microsoft Teams have increasingly sophisticated mechanisms to identify and block "virtual" participants. Understanding how these work and how to navigate them is crucial for a reliable integration. - [Bot Language](https://skribby.io/docs/guides/bot-language.md): The lang parameter when creating a new bot specifies the language of the recording content. Skribby maintains a central list of supported languages that works across all transcription models, making it easy to switch between transcription models without changing your language settings. - [Bot Lifecycle](https://skribby.io/docs/guides/bot-lifecycle.md): A meeting bot is an ephemeral worker that moves through a well-defined set of states. Understanding these states and why they transition is the key to building a robust integration. - [Bot Naming](https://skribby.io/docs/guides/bot-naming.md): The bot_name parameter controls how your bot appears to meeting participants. Choosing a good name is important for both user experience and reliability - particularly on Google Meet and Zoom where names influence bot detection. - [Meeting Urls](https://skribby.io/docs/guides/meeting-urls.md): To join a meeting, Skribby bots require a valid meeting URL. We support all major platforms and automatically handle redirect links from security software. - [Platforms](https://skribby.io/docs/guides/platforms.md): Skribby supports the three major meeting platforms. While we strive for feature parity, some functionality depends on the underlying meeting service. - [Quickstart](https://skribby.io/docs/guides/quickstart.md): Get your first Skribby bot into a meeting in under 5 minutes. - [Realtime Transcription](https://skribby.io/docs/guides/realtime-transcription.md): Real-time transcription allows you to receive live transcript data as the meeting progresses, rather than waiting for the meeting to end. This is enabled by using any of the realtime transcription models. - [Recordings Upload](https://skribby.io/docs/guides/recordings-upload.md): The Recordings feature allows you to transcribe audio files outside of live meeting recordings. Upload your own audio files or re-transcribe existing bot recordings with different models or settings. - [Regions](https://skribby.io/docs/guides/regions.md): Skribby provides multiple isolated regions to host your data, enabling compliance with local data residency requirements and improving latency. - [Speaker Timelines](https://skribby.io/docs/guides/speaker-timelines.md): Skribby tracks exactly when each participant speaks, allowing you to build rich meeting visualizations or synchronized transcripts. - [Team Management](https://skribby.io/docs/guides/team-management.md): Skribby organisations allow multiple team members to collaborate on bot deployments, share API access, and manage resources together. This guide covers roles, permissions, and team administration. - [Transcription Credentials](https://skribby.io/docs/guides/transcription-credentials.md): Skribby provides managed transcription by default, but you can also bring your own API keys (BYOK) for supported transcription providers. This gives you direct control over your transcription costs and usage. - [Transcription Models](https://skribby.io/docs/guides/transcription-models.md): Skribby uses a unified naming convention for all supported transcription models to make it easier to understand which provider and model you are using. This guide explains how to format your transcription model keys, understand aliases, and what to expect in API responses. - [Troubleshooting](https://skribby.io/docs/guides/troubleshooting.md): Meeting bots operate in a complex environment where platform security, network conditions, and host settings all interact. This guide helps you diagnose and resolve common integration issues. - [Webhook Debugging](https://skribby.io/docs/guides/webhook-debugging.md): When webhook deliveries fail, use the Webhook Logs in your Skribby dashboard to diagnose issues. This guide covers common problems and how to resolve them. - [Webhook Events](https://skribby.io/docs/guides/webhook-events.md): Webhooks are the primary way Skribby notifies your application of asynchronous events. All webhook requests are POST requests sent to the webhook_url specified during bot creation. - [Webhook Security](https://skribby.io/docs/guides/webhook-security.md): Webhooks let Skribby notify your application in real time. Because webhooks are inbound HTTP requests, you should verify that each request is genuinely sent by Skribby and has not been tampered with. Skribby signs every webhook using HMAC-SHA256 so you can validate the payload before processing it. - [Zoom Chat](https://skribby.io/docs/guides/zoom-chat.md): Zoom's chat system offers unique features compared to other meeting platforms, specifically support for direct messages (recipients) and threaded replies. ## REST API Reference - [Skribby REST API](https://skribby.io/docs/rest-api.md): Full API overview with all endpoints and schemas ### Bot Operations - [Create Bot](https://skribby.io/docs/rest-api/bot-operations/createbot.md): POST /bot - [Validate Bot Configuration](https://skribby.io/docs/rest-api/bot-operations/validatebot.md): POST /bot/validate - [Get Bot](https://skribby.io/docs/rest-api/bot-operations/getbot.md): GET /bot/{id} - [Update Bot](https://skribby.io/docs/rest-api/bot-operations/updatebot.md): PATCH /bot/{id} - [Delete Bot Data](https://skribby.io/docs/rest-api/bot-operations/deletebot.md): DELETE /bot/{id} - [Get Bot Pricing](https://skribby.io/docs/rest-api/bot-operations/getbotpricing.md): GET /bot/{id}/pricing - [Send Chat Message](https://skribby.io/docs/rest-api/bot-operations/sendchatmessage.md): POST /bot/{id}/chat-message - [Stop Bot](https://skribby.io/docs/rest-api/bot-operations/stopbot.md): POST /bot/{id}/stop - [Get Scheduled Bots](https://skribby.io/docs/rest-api/bot-operations/getscheduledbots.md): GET /bot/scheduled ### Recording Operations - [Create Recording](https://skribby.io/docs/rest-api/recording-operations/createrecording.md): POST /recording - [Get Recording](https://skribby.io/docs/rest-api/recording-operations/getrecording.md): GET /recording/{id} - [Delete Recording Data](https://skribby.io/docs/rest-api/recording-operations/deleterecording.md): DELETE /recording/{id} ## TypeScript SDK - [Ts Sdk](https://skribby.io/docs/ts-sdk.md): Are you already working in Javascript / Typescript or looking to quickly prototype? Then our Typescript SDK will make your implementation much smoother. - [Api Reference](https://skribby.io/docs/ts-sdk/api-reference.md): The Skribby TypeScript SDK is class-based, so most of what you work with are object instances behind the scenes. You do not need to instantiate classes manually; use the helper functions to create them. - [MeetingBot](https://skribby.io/docs/ts-sdk/api-reference/MeetingBot.md): Creates a meeting bot instance to interact with this bot. You normally wouldn't need to instantiate this class manually. When creating or fetching bots via the SkribbyClient, an instance of this class will be returned. - [RealtimeClient](https://skribby.io/docs/ts-sdk/api-reference/RealtimeClient.md): Creates a new RealtimeClient to interact with realtime transcription models. If you make use of the client, you can generate this instance automatically via MeetingBot.getRealtimeClient(). If this would be used on the front-end, then you can fetch the websocket url in the back-end, forward it to the front-end and use this class directly. - [Recording](https://skribby.io/docs/ts-sdk/api-reference/Recording.md): Creates a recording instance to interact with this recording. You normally wouldn't need to instantiate this class manually. When creating or fetching recordings via the SkribbyClient, an instance of this class will be returned. - [SkribbyClient](https://skribby.io/docs/ts-sdk/api-reference/SkribbyClient.md): Creates a new Skribby Client. - [CreateClient](https://skribby.io/docs/ts-sdk/api-reference/createClient.md): This is a simple helper function to create a new SkribbyClient object. The first parameter needs to be an object with a valid api_key as parameter. - [CreateRealtimeClient](https://skribby.io/docs/ts-sdk/api-reference/createRealtimeClient.md): When working with realtime models you can make use of the RealtimeClient to make connection with the websocket easier. If you already work with a SkribbyClient then there's a good chance you don't need this function. You can fetch this via the client as well. - [Examples](https://skribby.io/docs/ts-sdk/examples.md): Through this quick start, you'll get a meetingbot in your meeting in a matter of seconds. - [Recipes](https://skribby.io/docs/ts-sdk/recipes.md): Practical examples for common meeting intelligence workflows using the Skribby TypeScript SDK.