Skribby
GuidesUpdated 7 hours ago

Bot Authentication

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.

Authentication Methods

MethodPlatformsDescription
Authenticated AccountsGoogle Meet, MS TeamsLink a real account (email/password) via the Skribby Dashboard.
ZAK TokensZoomProvide a short-lived token generated via the Zoom API.

Google Meet & Microsoft Teams

For these platforms, you manage accounts directly in the Skribby Dashboard.

Adding an Account

  1. Navigate to Settings → Authenticated Accounts
  2. Click Add Account
  3. Select the service (Google Meet or Microsoft Teams)
  4. Enter the account email and password
  5. Save and copy the account_id

Using in API Requests

{ "authentication": { "account_id": "uuid-here", "always_authenticate": true } }

💡 Guest-First Logic: By default, bots try to join as guests first (to use your custom bot_name). If the meeting requires login, it then uses the account. Set always_authenticate: true to skip the guest attempt.

Provider Requirements

Google Meet

RequirementDetails
Account TypeGoogle Workspace or personal Gmail
MFAMust be disabled
App PasswordsNot supported; use the main account password
Workspace RestrictionsAccount must be in the same Workspace as meetings

Microsoft Teams

RequirementDetails
Account TypeMicrosoft 365 account
MFAMust be disabled
LicenseNeeds Teams access (most M365 plans include this)
Tenant RestrictionsAccount must be in the same tenant as meetings

💡 Dedicated Accounts: We recommend creating dedicated service accounts (e.g., [email protected]) rather than using personal accounts.

Zoom (ZAK Tokens)

Zoom authentication is ephemeral. You must generate a ZAK Token via the Zoom API for the specific user the bot should represent.

How to get a ZAK Token

  1. Prerequisites: You need a Zoom Server-to-Server OAuth app.
  2. Step 1: Get User ID: Call GET /users to find the id or email of the user.
  3. Step 2: Generate Token: Call GET /users/{userId}/token?type=zak.
  4. Step 3: Skribby Integration: Pass the returned token string to Skribby.
{ "authentication": { "zoom_zak_token": "zak-token-string" } }

⚠️ Expiration: ZAK tokens are typically valid for 90 days, but we recommend generating a fresh one before creating a bot.

Important Constraints

  • Disable MFA: Multi-Factor Authentication must be disabled on all service accounts. Our bots cannot solve 2FA prompts during the login flow.
  • Bot Naming: When authenticated, the bot appears with the account name. The bot_name parameter is ignored once authentication is active.
  • Account Merging: If you send two bots using the same account into the same meeting, the platform merges them into a single participant. Use different accounts for multi-bot scenarios.

Troubleshooting

IssueCauseResolution
Bot stuck at auth_requiredMeeting requires login, no account providedAdd authentication.account_id to your request
Login fails immediatelyWrong password or MFA re-enabledVerify credentials, check MFA is disabled
Bot appears as guest despite authGuest attempt succeeded firstSet always_authenticate: true
Works for some meetings, not othersDifferent org/tenant requirementsVerify account is in the same org as meeting