Managing Your Developer Account

Open in Claude

From your Console invitation to a live app in the marketplace

This guide covers everything you do in the Vim Console — creating an app, filling in its manifest, getting credentials, submitting for review, and going live. For SDK code, see Getting Started.

Accepting your invitation

You'll receive an email invitation to Vim Connect. It links to a short (about 5 minute) onboarding wizard — here's what each step asks for.

Check your inbox

Look for an email titled "Vim invited you to join Vim Connect". It states what you're being set up as and links to the onboarding wizard.

The Vim Connect invitation email: an eyebrow naming the inviter, a heading, an Accept Invitation button, and a note that the link expires in 72 hours.
The invitation email. Click Accept Invitation to start the onboarding wizard below.

The link expires in 72 hours

If it's expired, ask whoever invited you to resend it from Console — Network → Invitations → Resend invitation.

Welcome

Verify your email with a 6-digit code, then accept the Terms of Service, Business Associate Agreement and Privacy Policy.

Welcome to Vim Connect step: email verification code entry and Terms of Service / BAA / Privacy Policy acceptance.
Welcome. Verify your email, then accept the standard agreements before continuing.

Account Setup

Provide your contact details (name, optional role) and your developer marketplace profile — the display name practices see when they discover your app in the marketplace.

Account Setup step: account owner contact details and developer marketplace profile display name.
Account Setup. Your contact details and the display name shown to practices browsing the marketplace.

Apps

If your invitation included any pre-installed apps — most commonly the Demo App, so you have a working example to explore immediately — approve the ones you want installed in your sandbox. You can add or remove apps later from the Console.

Approve your apps step: a pre-installed Demo App with a checkbox to install it in the developer's sandbox.
Apps. Pre-installed apps from your invitation — approve now, or manage them later in Console.

Finishing setup activates your account, which carries a developer facet and reveals the Build section in the left navigation:

ItemPurpose
My AppsEvery app you own, with its status
Sandbox EHRYour isolated EHR instance for testing
ResourcesSDK reference, this guide, the EHR Support Matrix, demo app

Creating an app

From Build → My Apps, choose + New App. Vim creates the app with a placeholder name and an empty v1 draft, then opens the manifest editor.

An app is a container; the thing you configure, submit and publish is a version. Versions are numbered (v1, v2, …) and each carries its own manifest and submission answers.

You have two ways to start building:

  • From scratch, if you're building a real product — implement the SDK integration yourself against Quick Start and your own app architecture.
  • Fork the Demo App, if you just want a working proof of concept fast. It already implements the OAuth launch flow, SDK initialization, and the core Hub/EHR capabilities — clone it, set its CLIENT_ID and CLIENT_SECRET environment variables to the credentials from the environment you create below, and you have a running app in the Sandbox EHR in minutes. Customize it from there instead of wiring the SDK up from zero.
Build → My Apps in the Vim Console, showing app cards with status chips and the New App entry point
Build → My Apps. Each card shows its version and status. + New App creates the app and opens the manifest editor on a fresh v1 draft.

Inviting your team

Apps belong to the account, not to you personally — anyone you invite with the right role can work on the same apps, so you don't need to share credentials.

From Users, choose Invite users:

  1. Enter one or more email addresses — one per line, or comma-separated.
  2. Pick the role that applies to every invitation in this batch:
RoleCan do
MemberUse apps installed for them; no Console administration
AdminManage apps, users and account settings
OwnerEverything an Admin can, plus billing and ownership transfer
  1. Optionally pre-select which apps the invited users get on day one. Apps marked for auto-add are already selected.
Invite users dialog in the Vim Console: email addresses, role selection, and optional app pre-selection.
Invite users. Add one or more emails, pick the role that applies to the whole batch, and optionally pre-select which apps they get on day one.

Roles can be changed per user afterwards from the Users table — you don't need to re-invite someone to promote them.

For day-to-day development you only need one developer account. Invite teammates when you want shared ownership of the app, or when QA needs to exercise it in the Sandbox EHR.

Filling in the manifest

The manifest editor has four tabs. Changes save automatically as you type.

Metadata

Your app's identity and the technical details Vim Connect needs to load it.

FieldNotes
App nameShown to providers in the hub and to admins in the Console
TooltipHover text on your hub icon (max 80 characters)
IconSquare SVG, transparent background, 100×100. Single-color outline, no fills or brand colors — Vim recolors it per hub state, so baked-in color renders wrong
Allowed iframe URLsComma-separated origins you own that may be embedded, e.g. http://localhost:3000, https://yourapp.com. Must match the redirect_uri your launch endpoint returns
Launch EndpointYour backend endpoint Vim calls to begin the auth flow
Token EndpointYour backend endpoint that exchanges the authorization code for an access token
Worker Launch EndpointOptional. Only if you ship a Worker App
Manifest editor, Metadata tab, showing the app name, tooltip, icon, allowed iframe URLs, and endpoint fields.
Manifest editor → Metadata. Identity and loading details — the tab bar above switches to App UX, EHR, and Entity Store.

See Authentication for how the launch and token endpoints fit together.

App UX

Toggle the hub capabilities your app uses — notification badge, push notifications, patient details in the panel. Each toggle previews how it appears in the hub. Enable only what you use; review asks you to justify each one. Reference: Vim Hub.

EHR

Declare the EHR data your app reads and writes, and the API operations it calls.

  • Fields are selected per entity and sub-section — request the narrowest set you need.
  • Allowed PII is a single toggle. While off, identifying fields are locked and unselectable; turning it on unlocks them and each becomes something you justify at review.
  • API operations are separate from field access. They let your app call the EHR outside the context of the open record — for example fetching a full medication list when that chart isn't on screen.

Check coverage first

Consult the EHR Support Matrix before finalizing scopes. A field your target EHRs don't support will pass review and still fail in production.

Entity Store

Optional persistence for entities your app maintains across sessions.

Getting your client ID and secret

Credentials belong to an environment, not to the app — so you can hold separate credentials for local development, staging and production.

From Manage Versions → Environments, choose Add Environment:

FieldNotes
Namee.g. Local, Staging, Production
URL / Launch / Token overridesOptional per-environment overrides of the manifest values — point Local at http://localhost:3000 without touching your production manifest

On save, Vim shows your Client ID and Client Secret.

Manage → Environments: the one-time Client Secret reveal after creating an environment.
Manage → Environments. The Client Secret is only ever shown at this moment, right after creating the environment.

The secret is shown once

The client secret is displayed a single time, at creation, and stored hashed. Copy it into your environment configuration immediately. If you lose it, create a new environment — it cannot be retrieved.

Supply both to your backend as CLIENT_ID and CLIENT_SECRET for the token exchange described in Authentication.

Testing against the Sandbox EHR

Your account includes an isolated Sandbox EHR — a working EHR with synthetic patients and no real PHI. It is the only place to exercise your app end to end before review.

Setting it up

  1. Open Build → Sandbox EHR in the Console. It opens in a new tab.
  2. Install the Vim Connect browser extension — this is what injects the overlay and hub into the EHR page. Without it, your app has nothing to load into.
  3. Sign in to the extension with the same Console account.
  4. Confirm the extension reports a detected EHR system. If it says no EHR detected, you are not on a page the adapter recognizes.

What to test

  • Every workflow event you subscribe to — open a chart, open an encounter, and confirm your handlers fire with the context you expect.
  • Missing fields. EHR coverage varies, so a field present in the sandbox may be absent in a production EHR. Verify your app degrades rather than throws — see Error Handling and the EHR Support Matrix.
  • Hub presence — badge counts, activation state and push notifications, per Vim Hub.
  • Writeback, if you use it: confirm the consent prompt appears and that a declined request is handled.

The sandbox is not a coverage guarantee

The Sandbox EHR supports a broad set of capabilities, so something working there does not mean every production EHR supports it. Always confirm against the EHR Support Matrix before you submit.

Managing versions

Manage Versions lists every version with its status and the actions available:

StatusWhat it meansActions
DraftEditable, never submittedView/Edit · Duplicate · Delete
In ReviewWith the Vim review team; lockedView · Cancel review · Duplicate
Pending releaseApproved, not yet publishedView · Mark as live · Duplicate
LivePublished in the marketplaceView · Unpublish · Duplicate
DeclinedReview concluded with changes requestedView feedback · Duplicate
Manage Versions list, showing each version's status and its available row actions.
Manage Versions. Every version of the app, with the actions available for its current status.

Only Draft versions are editable. Any other status is read-only: you can browse every tab, but fields are disabled. To iterate on a submitted or live version, duplicate it — the copy is a fresh draft carrying all your manifest values and submission answers.

Submitting for review

Open the submission form from the manifest. It has four sections, and every field is required unless marked optional or gated behind a "No" answer. Hovering the disabled Review & Submit button lists exactly what's still missing — but it's faster to gather everything up front. This section is a prep guide to what's asked in each and why.

Submission form: the four section tabs (Internal, Store Page, Marketplace, Security) and the disabled Review & Submit button.
Submission form. The four section tabs, and the gated Review & Submit button — disabled until every required field across all four is complete.

Internal Information

Shared only with the Vim review team — never shown on your public listing.

GroupAsks forWhy
App Test InformationWhat your app does, step-by-step testing instructions, an optional demo videoReviewers can't guess your workflow — clear instructions using synthetic data only (no real PHI) are what let them actually exercise the app instead of guessing
Demo User Details (optional)A username/password for your appOnly needed if your app hasn't implemented SSO or auto-provisioning — gives the reviewer a way in
Patient Details (optional)A non-PHI test patient, or your activation criteria (e.g. "any patient in an encounter")Lets the reviewer land on a patient your app actually activates for, in the Sandbox EHR
EHR Permission UsageA justification for each EHR resource you read or write, and any chart-retrieval requestsReviewers check this against the scopes you declared in the manifest's EHR tab — an access request with no stated use case is the most common reason review stalls
App UXA justification for each Vim Hub feature you enabled (badges, notifications, etc.)Same idea as EHR scopes — enable and justify only what you use
Technical ContactsEmail(s) for your engineering point of contactWhere review questions go if something's unclear
Internal AssessmentSecurity, compliance, healthcare-regulatory, and AI/ML questions — third-party data access, breach history, HIPAA compliance, FDA/medical-device status, litigation history, AI model behaviorVim's internal risk review. Private — none of this appears on your listing

Justify scopes, don't just declare them

The single most avoidable review delay is a permission with no stated use case. If your manifest requests a field or Hub feature, the Internal Information section is where you explain why — answer it as you fill in the manifest, not as an afterthought at submission time.

Store Page

Your public marketplace listing.

GroupAsks for
DescriptionListing icon (colored backgrounds allowed here, unlike the Hub icon), brand color, a short one-line summary, and a full description
MediaScreenshots or video shown on your listing
CategoriesWhere your app is discoverable in the marketplace
Buttons (optional)Primary/secondary call-to-action links (e.g. "Get Started", "Learn More")
LegalPrivacy Policy URL, Terms of Service URL, and your BAA (or a stated reason for not sharing it publicly)
ResourcesDeveloper name, address, phone, website, support email, and a network-request email for data-access requests

Marketplace

Visibility, Pricing, and Distribution Level — who can find and install your app, and under what commercial terms.

Security

Shown publicly in the Applications section for transparency to any account considering your app — unlike Internal Information, this section is visible to end users. It covers HIPAA compliance, PHI handling and offshoring, data protection (encryption, retention, de-identification), security practices (secure SDLC, penetration testing, access controls, audit logging), and AI/PHI processing. Submitting confirms you agree to the Application Developer Terms of Service and Security Best Practices linked in the form.

You own this content

Vim reviews every submission for functionality and baseline security, but does not endorse or certify your app. The security and compliance answers are yours — keep them accurate, since they're what an installing organization sees.

The form also shows read-only summaries of your EHR data access and App UX selections, pulled from the manifest, so you can see precisely what you're being asked to justify.

Submitting locks the version for the duration of the review — typically up to 10 business days, with an email update within 7.

Going live

When review passes, the version moves to Pending release and you decide when to ship. Open Manage Versions and find the version carrying that status — it is the only one that offers Mark as live:

Manage Versions: the v3 row shows the Pending release status and its Mark as live action.
Manage Versions. The row carrying Pending release status is the only one offering Mark as live.

Selecting it opens a confirmation that states the effect before anything ships:

The Mark as live confirmation spells out the effect before you publish.
The Mark as live confirmation spells out the effect before you publish.
  • If another version is already live, it is replaced and every user with your app installed is upgraded automatically.
  • If this is your first live version, publishing it makes the app live in the marketplace.

If review concludes with changes requested, the email links to the reviewer's notes in Console. Answer them on the submission, or duplicate the version into a new draft if the manifest itself needs to change, then resubmit.

On this page