Granola to Cursor CRM Automation: Step-by-Step Implementation Guide
Overview
This guide provides detailed instructions for creating a Zapier automation that connects Granola (voice-first meeting notes) to Cursor Cloud Agent, enabling automatic CRM processing of meeting transcripts. When a note is added to a specific Granola folder, the automation triggers a Cursor Cloud Agent that processes the transcript and creates relationship files and transcript summaries in your GitHub repository.
Use Case
Voice-First CRM for Two-Person Conversations
This automation is designed for simple, digital two-person conversations captured in Granola. When a meeting ends and a note is added to your designated Granola folder, the system automatically:
- Extracts the transcript from Granola
- Launches a Cursor Cloud Agent with specific instructions
- Processes the transcript to identify participants
- Creates or updates relationship markdown files
- Creates detailed transcript summary files
- Commits changes to your GitHub repository
Prerequisites
Before beginning, ensure you have completed the following:
1. Cursor Account and Repository Authorization
- What: Cursor account with Cloud Agent access and repository authorization
- Note: The Zapier integration uses OAuth authentication, so you don't need a separate API key
- Where: Cursor Settings → Cloud Agent
- How:
- Ensure you have a Cursor account with Cloud Agent access
- In Cursor, go to Settings → Cloud Agent
- Find "Authorized Repositories" section
- Add your repository:
<username>/<reponame>(or your repo) - Grant necessary permissions (read/write access)
- Verify authorization appears in your list
2. Zapier Account
- What: Free Zapier account (upgrade may be needed for complex workflows)
- Where: zapier.com
- How:
- Sign up for free account at zapier.com
- Complete email verification
- Note: Free tier allows 5 Zaps with 100 tasks/month
- If automation becomes complex, consider Starter plan ($19.99/month)
3. Granola Paid Version
- What: Granola subscription with folder functionality
- Where: Granola app settings
- Why: Free version may not support folder-based triggers
- How:
- Open Granola app
- Navigate to Settings → Subscription
- Upgrade to paid tier if needed
- Verify folder creation is available
- Create folder: "Process in Cursor" (or your preferred name)
Step-by-Step Implementation
Step 1: Set Up Granola Folder
- Open Granola app
- Create a new folder:
- Name:
Process in Cursor(or your preferred name) - Purpose: This folder will trigger the automation
- Name:
- Verify folder appears in your Granola folder list
- Test: Add a test note to this folder to ensure it's working
- Important: Before moving notes to this folder, ensure the attendee is properly tagged/identified in Granola so the Zap can extract their name correctly
Step 2: Create Zapier Account and Connect Granola
- Log into Zapier at zapier.com
- Click "Create Zap" (top left)
- Set up Trigger:
- Search for "Granola" in the trigger apps
- Select "Granola" from results
- Choose trigger: "Note Added to Folder" or "New Note in Folder"
- Click "Continue"
- Connect Granola Account:
- Click "Sign in to Granola"
- Authorize Zapier to access your Granola account
- Grant necessary permissions
- Click "Yes, continue"
- Configure Trigger:
- Select folder:
Process in Cursor(or your folder name) - Click "Continue"
- Select folder:
- Test Trigger:
- Click "Test trigger"
- Ensure it finds your test note
- If successful, click "Continue"
Step 3: Add Cursor Cloud Agent Action
-
Add Action:
- Click "+" button after the trigger step
- Search for "Cursor" in the action apps
- Select "Cursor" from results
- Choose action: "Launch Agent"
- Click "Continue"
-
Connect Cursor Account:
- Click "Sign in to Cursor"
- Authorize Zapier to access your Cursor account
- Grant necessary permissions
- Click "Yes, continue"
-
Configure Cursor Agent Settings:
Fill in the following fields:
- Repository URL:
https://github.com/<username>/<reponame>(or your repository) - Git Reference:
main(or your default branch) - Target Auto Create PR:
true(orfalseif you want direct commits) - Model:
claude-4-sonnet(or your preferred model) - Prompt: Use the template below with Zapier field mappings
- Repository URL:
-
Build the Prompt with Field Mappings:
In the "Prompt" field, use Zapier's field mapping to insert Granola data:
Please process this transcript between myself (@<your-name>.md) and {{Granola Attendee Name}} on {{Granola Date}}
Add any new relationship md files that need to be created in the docs/relationships folder. Note the format by reading docs/relationships/README.md
Add any new summary of transcript md files that need to be created in the docs/transcripts folder (shouldnt be raw transcript - but a super detail summary with a lot of key quotes) - prefixed with the date in YYYY-MM-DD format. Note the format by reading docs/transcripts/README.md
let me know if you have any questions before proceeding
Here is the transcript:
{{Granola Transcript Content}} -
Map Granola Fields:
- Click on the field mapping icons (or use the dropdown)
- Map
{{Granola Attendee Name}}to Granola's attendee/participant field - Map
{{Granola Date}}to Granola's date field (ensure YYYY-MM-DD format) - Map
{{Granola Transcript Content}}to Granola's note/transcript content field
Step 4: Configure Cursor Agent Prompt
The prompt sent to Cursor should be:
Please process this transcript between myself (@your-name.md) and [ATTENDEE_NAME] on [DATE]
Add any new relationship md files that need to be created in the docs/relationships folder. Note the format by reading docs/relationships/README.md
Add any new summary of transcript md files that need to be created in the docs/transcripts folder (shouldnt be raw transcript - but a super detail summary with a lot of key quotes) - prefixed with the date in YYYY-MM-DD format. Note the format by reading docs/transcripts/README.md
let me know if you have any questions before proceeding
Here is the transcript:
[TRANSCRIPT_CONTENT]
Key Variables to Map:
[ATTENDEE_NAME]: Extract from Granola note metadata[DATE]: Format as YYYY-MM-DD from Granola note date[TRANSCRIPT_CONTENT]: Full transcript text from Granola note
Step 5: Test the Automation
- Turn on Test Mode in Zapier
- Create a test note in Granola:
- Include a simple two-person conversation
- Tag/identify the attendee in Granola (critical for the Zap to work correctly)
- Ensure attendee name is clear and properly tagged
- Include date information
- Move note to folder: Add the note to your "Process in Cursor" folder
- Monitor Zapier execution:
- Check Zap history for execution status
- Verify Cursor action was triggered
- Check for any error messages
- Verify attendee name was extracted correctly
- Verify GitHub changes:
- Check your repository for new/updated files
- Verify relationship file was created with correct attendee name
- Verify relationship file format matches README template
- Verify transcript summary format matches README template
Step 6: Activate and Monitor
- Activate the Zap:
- Toggle "Off" to "On" in Zapier
- Confirm activation
- Monitor first few runs:
- Check Zap history after each meeting
- Verify files are created correctly
- Review Cursor agent output for any issues
- Refine as needed:
- Adjust prompt if files aren't formatted correctly
- Update field mappings if data is missing
- Add error handling if needed
Advanced Configuration
Adding Error Handling
If the automation fails, you may want to:
-
Add Filter Step:
- Only proceed if transcript contains minimum word count
- Verify attendee name exists
- Check date is valid
-
Add Notification Step:
- Send email/Slack notification if automation fails
- Include error details for debugging
Customizing the Prompt
You can customize the Cursor agent prompt to:
- Extract specific information: Add instructions for extracting key topics, action items, or decisions
- Format preferences: Specify markdown formatting preferences
- Cross-referencing: Add instructions to check existing relationship files for updates
- Tagging: Add instructions for adding tags or categories
Handling Multiple Attendees
For conversations with more than two people:
- Modify prompt to list all attendees
- Create relationship files for each new participant
- Update existing relationship files for known participants
- Create single transcript summary with all participants listed
Troubleshooting
Common Issues
Issue: Zap doesn't trigger
- Solution: Verify Granola folder name matches exactly
- Solution: Check Granola account connection in Zapier
- Solution: Ensure note is actually added to folder (not just created)
Issue: Cursor action fails
- Solution: Verify Cursor account connection in Zapier (reconnect if needed)
- Solution: Check repository authorization in Cursor settings
- Solution: Verify repository URL format is correct (full GitHub URL)
- Solution: Ensure Git reference (branch name) exists in repository
- Solution: Check that field mappings are correctly pulling data from Granola
Issue: Files created incorrectly
- Solution: Review Cursor agent prompt for clarity
- Solution: Verify README files exist in repository for format reference
- Solution: Test prompt manually in Cursor first
Issue: Missing data in files
- Solution: Check Granola field mappings in Zapier
- Solution: Verify transcript content is being passed correctly
- Solution: Add data validation steps in Zapier
Issue: Missing or incorrect attendee name in relationship files
- Solution: Ensure the attendee is properly tagged/identified in Granola before moving note to folder
- Solution: Check Granola's attendee/participant field mapping in Zapier
- Solution: Verify the tag/identification appears correctly in Granola note metadata
- Solution: If attendee wasn't tagged, manually update the relationship file after creation
Getting Help
- Zapier Support: Check Zapier's help documentation or community forum
- Cursor Support: Contact Cursor support for API/Cloud Agent questions
- Granola Support: Reach out to Granola team for integration questions
Best Practices
1. Folder Organization
- Use clear, descriptive folder names
- Consider multiple folders for different types of meetings
- Keep folder structure simple
2. Transcript Quality and Attendee Tagging
- Tag attendees before processing: Always tag/identify the person you're talking to in Granola before moving the note to the processing folder
- If the attendee isn't tagged, the Zap may not extract their name correctly, leading to incorrect or missing relationship files
- Ensure Granola captures clear audio for accurate transcription
- Verify attendee names are correctly identified and tagged in Granola
- Review transcripts before automation runs (if possible)
3. Repository Maintenance
- Regularly review created files for accuracy
- Update relationship files manually when needed
- Archive old transcripts periodically
4. Automation Monitoring
- Check Zap history weekly for errors
- Review created files monthly for quality
- Update prompt based on common issues
5. Security
- Keep Zapier account credentials secure
- Regularly review connected app permissions in Zapier
- Review repository access permissions in Cursor settings periodically
- Monitor Zap execution history for unauthorized access
Expected Workflow
Once set up, your workflow will be:
- Meeting happens → Granola records conversation
- Tag the attendee → In Granola, tag/identify the person you're talking to (if not already tagged)
- Important: If the person isn't tagged, the Zap may not extract their name correctly
- Tag them before moving the note to the folder for best results
- Meeting ends → Note saved to "Process in Cursor" folder
- Zapier triggers → Detects new note in folder
- Zapier extracts → Gets transcript, attendee name (from tag), date
- Zapier calls Cursor → Sends API request with prompt and transcript
- Cursor processes → Agent reads README files, processes transcript
- Cursor creates files → Relationship file + transcript summary
- Cursor commits → Creates PR or commits directly to repository
- You review → Check GitHub for new files, merge PR if needed
Cost Considerations
Free Tier Limitations
- Zapier Free: 5 Zaps, 100 tasks/month
- Granola Free: May not support folder triggers
- Cursor: Check Cloud Agent pricing
Upgrade Considerations
- Zapier Starter ($19.99/month): 20 Zaps, 750 tasks/month
- Granola Paid: Required for folder functionality
- Cursor: May require paid plan for Cloud Agent access
Next Steps
After successful setup:
- Test with real meetings to refine the process
- Customize prompts based on your specific needs
- Add additional steps (notifications, filtering, etc.)
- Document your specific configuration for future reference
- Share with team if others need similar automation
Additional Resources
- Zapier Granola Integration
- Cursor Cloud Agent Documentation (verify URL)
- Granola API Documentation (verify URL)
- Repository README files for format reference:
docs/relationships/README.mddocs/transcripts/README.md
Quick Reference: Cursor Agent Prompt Template
Please process this transcript between myself (@your-name.md) and [ATTENDEE_NAME] on [DATE]
Add any new relationship md files that need to be created in the docs/relationships folder. Note the format by reading docs/relationships/README.md
Add any new summary of transcript md files that need to be created in the docs/transcripts folder (shouldnt be raw transcript - but a super detail summary with a lot of key quotes) - prefixed with the date in YYYY-MM-DD format. Note the format by reading docs/transcripts/README.md
let me know if you have any questions before proceeding
Here is the transcript:
[TRANSCRIPT_CONTENT]
Replace:
[ATTENDEE_NAME]with actual attendee name from Granola[DATE]with date in YYYY-MM-DD format[TRANSCRIPT_CONTENT]with full transcript text