Book Reservations
via Text Message
An open-source note taking agent powered by Claude that connects to your Granola account and lets you search your meeting notes, get summaries, action items, and transcripts right from iMessage, built on Linq.
How It Works
Clone & Configure
Clone the repo, add your Linq API token, Anthropic key, and Granola OAuth credentials to .env. Start the Express server and expose it with ngrok.
Webhook Connects Everything
Set your ngrok URL as the webhook in Linq. When someone texts your number, Linq forwards the message to your server — including images and voice memos.
Claude Books for You
Claude Sonnet 4 receives the message with Granola tools available — from searching notes to pulling transcripts and action items. Results are sent back as iMessages.
Under the Hood
Natural Language Search
Ask questions like "what did we discuss about pricing?" and Claude searches across all your Granola meeting notes to find the answer — not just keyword matching.
Instant Summaries
Get concise summaries of any meeting — key decisions, discussion points, and outcomes. Text "summarize yesterday's standup" and get a response in seconds.
Action Item Extraction
Pull action items from any meeting with who's responsible and deadlines. Never miss a follow-up — just text "what's on my plate from this week's meetings?"
Multi-Message Responses
Claude's replies are split on --- delimiters and sent sequentially with typing indicators between each — mimicking how a human would actually text back.
Group Chat Intelligence
In group chats, a fast Haiku classifier decides whether to respond, react with a tapback, or stay silent — so the agent doesn't hijack every conversation.
Magic Link Onboarding
New users receive a secure magic link to connect their Granola account. Credentials are encrypted with AES-256-GCM and stored per-user in DynamoDB.
Up and running in minutes
Clone the repo, add your API keys, and start receiving iMessages on your local server.
Clone the Repogit clone https://github.com/linq-team/linq-granola-agent.gitcd linq-granola-agent && npm installcp .env.example .env # add Linq + Anthropic + Granola keysnpm run devSimple Architecture
iMessage → Your app → iMessage
Try it yourself
Clone the repo, add your API keys, and deploy your own Granola meeting notes agent on iMessage in minutes.