Abridge Install & Auth

SkillDev tools

Lets your agent set up sign-in credentials and health record integration for the Abridge clinical AI platform.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Abridge Install & Auth skill

About this capability

Establish Abridge tenant access, identity ownership, and approved EHR integration prerequisites without fabricating public credentials or endpoints. Use when onboarding an Abridge implementation. Trigger with \"configure Abridge access\".

What this skill tells your AI

The instructions your AI receives, as published by jeremylongshore/tons-of-skills-marketplace in skills/.curated/abridge-install-auth/SKILL.md and read by ahel’s review.

Overview

Configure Abridge ambient AI platform credentials and EHR integration tokens. Abridge is an enterprise clinical documentation platform — it does not have a public npm/pip SDK. Integration happens through EHR-embedded workflows (Epic Pal, Athena, eClinicalWorks) and partner API access.

Prerequisites

  • Healthcare organization with Abridge contract
  • EHR system access (Epic, Athena, eClinicalWorks, Cerner, or AllScripts)
  • Abridge Partner Portal credentials from your sales engineer
  • HIPAA-compliant infrastructure (required for PHI handling)

Instructions

Step 1: Obtain Abridge Partner Credentials

# Abridge uses partner-issued credentials, not self-service API keys
# Contact your Abridge sales engineer for:
# 1. Partner API client_id and client_secret
# 2. Organization ID (org_id)
# 3. Sandbox environment URL

# Store credentials securely (never in source control)
cat > .env.local << 'EOF'
ABRIDGE_CLIENT_ID=partner_xxxxxxxxxxxx
ABRIDGE_CLIENT_SECRET=secret_xxxxxxxxxxxx
ABRIDGE_ORG_ID=org_xxxxxxxxxxxx
ABRIDGE_BASE_URL=https://api.abridge.com/v1
ABRIDGE_SANDBOX_URL=https://sandbox.api.abridge.com/v1
EOF

chmod 600 .env.local
echo ".env.local" >> .gitignore

Step 2: Configure Epic EHR Integration (Most Common Path)

// src/config/abridge-ehr.ts
// Abridge is Epic's first "Pal" — integration uses Epic's FHIR R4 APIs

interface AbridgeEpicConfig {
  epicClientId: string;           // From Epic App Orchard registration
  epicFhirBaseUrl: string;        // e.g., https://fhir.epic.com/interconnect-fhir-oauth
  abridgeOrgId: string;           // From Abridge partner portal
  abridgeApiBaseUrl: string;      // Partner API endpoint
  smartLaunchUrl: string;         // SMART on FHIR launch URL
}

const config: AbridgeEpicConfig = {
  epicClientId: process.env.EPIC_CLIENT_ID!,
  epicFhirBaseUrl: process.env.EPIC_FHIR_BASE_URL!,
  abridgeOrgId: process.env.ABRIDGE_ORG_ID!,
  abridgeApiBaseUrl: process.env.ABRIDGE_BASE_URL!,
  smartLaunchUrl: `${process.env.EPIC_FHIR_BASE_URL}/oauth2/authorize`,
};

export default config;

Step 3: Authenticate via OAuth 2.0 (SMART on FHIR)

// src/auth/smart-fhir-auth.ts
import axios from 'axios';

interface SmartTokenResponse {
  access_token: string;
  token_type: 'Bearer';
  expires_in: number;
  scope: string;
  patient?: string;         // Patient context from EHR launch
  encounter?: string;       // Encounter context from EHR launch
}

async function getAbridgeToken(
  authCode: string,
  redirectUri: string
): Promise<SmartTokenResponse> {
  const tokenUrl = `${process.env.EPIC_FHIR_BASE_URL}/oauth2/token`;

  const response = await axios.post(tokenUrl, new URLSearchParams({
    grant_type: 'authorization_code',
    code: authCode,
    redirect_uri: redirectUri,
    client_id: process.env.EPIC_CLIENT_ID!,
    client_secret: process.env.EPIC_CLIENT_SECRET!,
  }), {
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  });

  return response.data;
}

export { getAbridgeToken, SmartTokenResponse };

Step 4: Verify Connection

// src/auth/verify-connection.ts
import axios from 'axios';

async function verifyAbridgeConnection(): Promise<boolean> {
  try {
    // Verify partner API access
    const response = await axios.get(
      `${process.env.ABRIDGE_BASE_URL}/health`,
      {
        headers: {
          'Authorization': `Bearer ${process.env.ABRIDGE_CLIENT_SECRET}`,
          'X-Org-Id': process.env.ABRIDGE_ORG_ID!,
        },
        timeout: 5000,
      }
    );

    console.log('Abridge connection verified:', response.data.status);
    return response.status === 200;
  } catch (error) {
    console.error('Abridge connection failed:', error);
    return false;
  }
}

Output

  • .env.local with partner credentials (chmod 600, gitignored)
  • EHR integration config pointing to correct FHIR endpoints
  • SMART on FHIR OAuth flow for clinician authentication
  • Verified connectivity to Abridge partner API

Examples

In a sandbox onboarding session, obtain a non-production client from the partner portal and place its values in the deployment platform's secret store or a local, gitignored environment file with restrictive permissions. Complete a SMART-on-FHIR authorization using a sandbox redirect URI, then call the health endpoint and record only its HTTP status and organization-safe request identifier. A 200 response proves connectivity, not production readiness. If verification returns 401 or 403, stop and confirm the client, scope, organization provisioning, and redirect URI with the service owners; never paste a credential into a ticket, shell history, or source file.

Error Handling

ErrorCauseSolution
401 UnauthorizedInvalid partner credentialsContact Abridge sales engineer for new credentials
403 ForbiddenOrg not provisionedVerify org_id matches your Abridge contract
SMART launch failureEpic App Orchard not configuredRegister app in Epic App Orchard first
CORS errorsWrong redirect URIUpdate allowed redirect URIs in Epic portal
Certificate errorSelf-signed cert in sandboxUse Abridge-provided sandbox CA certificate

Security Checklist

  • Credentials stored in environment variables, never in code
  • .env.local is gitignored and chmod 600
  • OAuth tokens stored in encrypted session store
  • PHI data encrypted at rest and in transit (HIPAA requirement)
  • Audit logging enabled for all Abridge API calls
  • BAA (Business Associate Agreement) signed with Abridge

Resources

Next Steps

After authentication is configured, proceed to abridge-hello-world for your first ambient session test.

Signals

GitHub stars
3k
Forks
396
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
abridge-install-auth
Source
github.com/jeremylongshore/tons-of-skills-marketplace