Prior Authorization Automation: From Scheduling to Draft Letter Without Manual Work
What This Builds
Instead of remembering to write prior authorization letters when patients are approaching their authorization limit, this automation detects the need and delivers a pre-drafted letter to your email — ready for you to review and fill in the patient-specific details. For OTs who handle 5–15 prior auth requests per month, this eliminates the "I almost missed that auth!" anxiety and removes 2–3 hours of manual labor per month.
Prerequisites
- A Zapier account — free plan works for basic version, paid ($20/mo) for multi-step workflows
- Your clinic uses Google Sheets or Airtable for caseload tracking (or is willing to set one up)
- OpenAI API access — a ChatGPT API key (separate from ChatGPT Pro; openai.com → API)
- A working prior auth letter template from your Level 3 practice
- Estimated cost: $20–$40/month (Zapier Starter + minimal API usage)
The Concept
Automation is like having an assistant who watches your schedule for you. Right now, noticing that a patient is about to hit their authorization limit is your job — you have to remember, check, and then start writing the letter. This automation does the watching: your tracking spreadsheet signals when a patient is within 3 sessions of their authorization limit, Zapier catches that signal, sends the patient's (non-PHI) clinical details to the ChatGPT API, and emails you the draft letter. You review it, fill in any blanks, and submit. You went from "notice + write" to "review + submit."
Build It Step by Step
Part 1: Set Up Your Tracking Spreadsheet
If you don't already track authorizations in a spreadsheet, set one up in Google Sheets. You need these columns at minimum:
| Column | Content |
|---|---|
| Patient ID | Non-PHI identifier (initials + DOB year, or MRN) |
| Diagnosis Code | ICD-10 code |
| Diagnosis Description | Plain text diagnosis name |
| Insurance | Payer name |
| Sessions Authorized | Total authorized sessions |
| Sessions Used | How many have been used |
| Sessions Remaining | Formula: =Sessions Authorized - Sessions Used |
| Next Auth Needed | Formula: =IF(Sessions Remaining<=3,"YES","NO") |
| Functional Deficits | Brief clinical description (2–3 deficits) |
| Goals | Treatment goals |
| Auth Status | Current / Pending / Expired |
The key column is "Next Auth Needed" — when it says YES, the automation triggers.
Part 2: Create a Zapier Account and Connect Google Sheets
- Go to zapier.com and sign up for a free account
- Click Create Zap (or "+ New Zap")
- For the Trigger: choose Google Sheets → New or Updated Spreadsheet Row
- Connect your Google account and select your tracking spreadsheet
- Set the trigger condition: Trigger only when "Next Auth Needed" column equals "YES"
What you should see: Zapier shows you a sample row from your spreadsheet when you test the connection.
Part 3: Add the ChatGPT API Action
- After the trigger, click + to add an action
- Search for OpenAI (or ChatGPT) in Zapier's app list
- Select Send Prompt
- Connect your OpenAI API key (get this from platform.openai.com → API Keys)
- In the Prompt field, build your prior auth request using the spreadsheet data:
You are an occupational therapy documentation assistant. Write a prior authorization request letter for continued OT services.
Patient identifier: {{Patient ID}}
Diagnosis: {{Diagnosis Description}} (ICD-10: {{Diagnosis Code}})
Insurance: {{Insurance}}
Functional deficits: {{Functional Deficits}}
Treatment goals: {{Goals}}
Requirements:
- Write in medical necessity language for an insurance prior authorization
- Request 8 additional sessions
- State that services are restorative and patient has not reached maximum potential
- Include justification for why skilled OT is required
- Use [PATIENT NAME] as placeholder for actual patient name throughout
- Keep to 1 page
The {{}} variables pull from your spreadsheet columns automatically.
Part 4: Add an Email Action
- Add another action after the ChatGPT step
- Choose Gmail (or your email provider) → Send Email
- Configure:
- To: your work email address
- Subject:
Prior Auth Draft Ready — {{Diagnosis Description}} — {{Insurance}} — Patient {{Patient ID}} - Body: Include the ChatGPT API output (the draft letter) plus a note: "Review this draft, replace [PATIENT NAME] with actual name, verify clinical details, and add your signature before submitting."
Part 5: Test the Automation
- Open your tracking spreadsheet
- Manually set a test row's "Sessions Remaining" to 3 (which triggers "Next Auth Needed" = YES)
- Go back to Zapier and click Test Trigger — it should detect your test row
- Run the full Zap — in 30–60 seconds you should receive an email with a draft prior auth letter
Review the letter: Is the diagnosis language correct? Does the medical necessity language sound right for your typical letters? Adjust the Zapier prompt template if needed.
Part 6: Turn on the Zap
Once testing looks good:
- Toggle the Zap to ON
- Update your sessions used in the spreadsheet after each visit as usual
- When any patient hits 3 sessions remaining, a draft letter arrives in your email automatically
Real Example: Outpatient Shoulder Rehab Practice
Setup: OT manages 35 active patients. Spreadsheet tracks 15 patients currently under authorization.
Input (automatic): Spreadsheet shows Patient MT-1978 has 12 sessions authorized, 10 used. Sessions remaining = 2. Triggers "Next Auth Needed" = YES.
Output (automatic — arrives in email):
"Dear [Insurance] Prior Authorization Department: We are requesting prior authorization for 8 additional sessions of outpatient occupational therapy for [PATIENT NAME] (ID: MT-1978), diagnosed with [rotator cuff repair, post-operative rehabilitation]. The patient presents with significant upper extremity functional deficits including limited shoulder AROM affecting overhead activities and work-related tasks requiring repetitive reaching. Services are restorative in nature — the patient has not reached maximum potential as evidenced by ongoing functional limitations impacting ADL performance. Continued skilled OT services are medically necessary to achieve functional goals..."
Review time: 5 minutes to verify details, replace [PATIENT NAME], add actual patient data, and submit.
Time saved: Compared to writing this from scratch — approximately 35–40 minutes per auth × 10–15 authorizations/month = 6–10 hours/month recovered.
What to Do When It Breaks
- Zapier doesn't trigger → Verify the "Next Auth Needed" formula is returning exactly "YES" (case-sensitive) and check your Google Sheets connection in Zapier
- Draft letter is generic → Your functional deficits column in the spreadsheet is too vague — add more specific clinical descriptions (e.g., "shoulder AROM 85° flexion, unable to reach overhead" instead of "limited shoulder")
- OpenAI API returns an error → Check your API key is still valid at platform.openai.com; verify you have billing set up (API usage costs approx. $0.02–0.05 per letter)
- Wrong insurance format → Add a note to your prompt: "For {{Insurance}}, include specific language they require: [add any known payer requirements]"
Variations
- Simpler version: Skip Zapier entirely — just keep the tracking spreadsheet and run it manually each Monday. Filter for "Next Auth Needed = YES" → copy the row data → paste into Claude for the letter.
- Extended version: Add a second Zap that sends you a weekly caseload summary every Monday morning — total patients, sessions this week, upcoming auth expirations — drafted by ChatGPT and delivered to your email before your workday starts.
What to Do Next
- This week: Set up the tracking spreadsheet and run 2–3 manual tests by copy-pasting row data into Claude
- This month: Build the Zapier automation and let it run for a full billing cycle; compare how many auths were handled proactively vs. your usual pattern
- Advanced: Extend the system to also auto-generate the discharge summary email when "Auth Status" = Expired and Sessions Remaining = 0
Advanced guide for occupational therapist professionals. Requires Zapier account and OpenAI API key. API usage costs approximately $0.02–0.05 per generated letter.