Stripe payments → Gmail drafts.Inside Google Sheets.
Pennysal captures every Stripe order, writes it to your spreadsheet, generates a booking link plus an e-signature contract, and drops a polished email into your Gmail drafts — ready to send.
Free during beta · No credit card · 5-minute setup
Everything a small business needs to fulfil orders
Pennysal stays out of your way. It runs on Google's infrastructure, uses tools you already have, and never asks you to host a server.
Two intake modes
Receive orders via Stripe webhook, or let Pennysal poll Gmail for Hostinger / Stripe receipt emails. Or both — duplicates are filtered automatically.
Sheets is the database
Orders, products, templates and logs all live in tabs you can read and edit. Nothing hidden, nothing to migrate.
Drafts or auto-send
Review every email before it goes out, or enable a delayed auto-send queue with one toggle.
Booking + contract links
A pre-filled booking URL and a fresh e-signature contract are generated for each new customer.
Simple setup
Custom menu inside Sheets opens a Setup dialog. API keys are stored in encrypted Script Properties — no coding required.
Built-in admin dashboard
Recent orders, queue stats and one-click resend — served from the same Apps Script project.
From payment to follow-up email in under a minute
- 01
Customer pays on your site
Stripe processes the checkout on your store (Hostinger, Shopify, WooCommerce — anywhere Stripe is connected).
- 02
Pennysal captures the order
Either the Stripe webhook hits your Apps Script endpoint, or the Gmail poller picks up the order receipt within minutes.
- 03
Order written to Google Sheets
A new row lands in the Orders tab with customer details, product, amount and status — fully de-duplicated.
- 04
Booking + contract links generated
A booking URL is pre-filled with the customer's name and email; an e-signature contract is created from your template.
- 05
Email drafted in Gmail
Your template is rendered with merge fields and saved as a Gmail draft — or queued for delayed auto-send.
Honest, flat pricing
Pennysal is free while in beta. Paid plans launch when the add-on is approved on the Google Workspace Marketplace.
Starter
For a single seller getting set up.
- Up to 50 orders / month
- Stripe webhook OR Gmail poll
- Gmail draft mode
- Community support
Solo
Most popularFor active sellers running their own business.
- Unlimited orders
- Stripe webhook AND Gmail poll
- Auto-send queue with delay
- Admin dashboard
- Email support
Studio
For small teams with shared inboxes.
- Everything in Solo
- Multiple Sheets / brands
- Priority support
- Onboarding call
Questions, answered
Do I need to host anything?+
No. Pennysal runs entirely inside Google Apps Script and Google Sheets. There's no server to maintain, no domain to point.
What permissions does it need?+
Read and write your spreadsheet, create Gmail drafts and labels, and call the TidyCal / OpenSign APIs. Scopes are listed during install — Pennysal cannot read other Sheets you haven't opened it on.
What if Stripe webhooks fail?+
Pennysal can poll Gmail for the order receipt as a fallback. You can run webhook + email poll in parallel; duplicates are filtered by order ID.
Where are my API keys stored?+
In Apps Script's encrypted Script Properties — never in the spreadsheet, never on Linno Tech servers.
Can I customise the email?+
Yes. Every line lives in the Email Templates sheet and supports merge fields like customer name, product, booking link, etc.
Is Pennysal affiliated with Google or Stripe?+
No. It's an independent integration that uses the public Apps Script, Stripe, TidyCal and OpenSign APIs.
Ready to stop copy-pasting order emails?
Install Pennysal on the Google Workspace Marketplace, open your spreadsheet, and run the Setup dialog. The next Stripe payment will land in your Drafts folder.
Marketplace listing pending review · Beta access available on request