Skip to content
    Back to all Bounties

    Earn 2,700 ($27.00)

    Time Remainingdue 1 month ago
    Open

    Implement SSO with GoHighLevel and link Vapi credentials to each account

    optiphoneinnova
    optiphoneinnova
    Posted 2 months ago

    Bounty Description

    Problem Description

    Our application is a multi-tenant AI voice assistant management platform that connects GoHighLevel subaccounts with Vapi AI organizations. We need to establish a robust Single Sign-On (SSO) system that integrates with GoHighLevel's marketplace App SSO which we've built but need fixed. After authentication, the system should associate the user's session details with a stored GHL profile which should be linked to the appropriate Vapi API credentials, allowing our program to query things like assistants and call logs for the associated vapi account to display account data as well as allowing our program to hide/display certain features based on the account subscription set in our database.

    Currently, we have a basic implementation of GoHighLevel integration, but it's experiencing reliability issues where SSO data isn't consistently delivered from our marketplace app custom menu page, to the program. Once authenticated, we need to ensure the user profile is linked to the correct Vapi API organization, which is essential for managing AI voice assistants.

    Acceptance Criteria

    1. GoHighLevel SSO Integration:
      Reliably capture SSO data from GoHighLevel marketplace embedding
      Support authentication through GoHighLevel's custom menu page integration
      Persist GoHighLevel user information and locationId across sessions
      Implement a robust error handling system when SSO fails

    2. Vapi API Credential Management:
      Associate Vapi API credentials with user profiles after authentication
      Support multiple Vapi organizations per user account

    3. Tenant Isolation:
      Ensure proper data isolation between tenants
      Link GoHighLevel locationId with appropriate Vapi organization
      Fix admin accounts that can manage multiple organizations/locations thrrough admin dashboard, should be (but currently isn't) exclusive to admin role type accounts.

    Technical Details

    Current System Architecture
    Backend: Node.js/Express with PostgreSQL database using Drizzle ORM
    Frontend: React with TypeScript, using shadcn/ui components
    Authentication: Session-based authentication with express-session
    API Integrations: GoHighLevel API and Vapi AI API
    Database Schema: Already supports accounts, ghlConnections, and vapiConnections tables

    We are open to and seeking ongoing development support as an internal developer moving forward as well. If that is of interest, please raise this with us during correspondence of this initial project.