resend-receipt
Skill9 starsChanged 10 months agoMITView on GitHub
Resend purchase confirmation emails with download links. Search by order number or email, verify order, and trigger receipt re-send. Solves "I lost my download link" support requests instantly. Triggers on "resend receipt", "send download link", "lost email", "can't find purchase", or similar queries.
- Reads credentials
- Sends data out
In this repository5 other files it gives its agents.
- create-discount-codeSkill
- customer-lookupSkill
- discount-analyticsSkill
- refund-orderSkill
- sales-dashboardSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 13 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈13
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 356
If webhook failure caused multiple customers to miss receipts:
- Distinctive: line 376
Follow up with any failures
- Distinctive: line 382
Wait for order to show "paid"
- Distinctive: line 383
Use skill to resend receipt
- Distinctive: line 384
Check test email inbox
- Distinctive: line 385
Verify download links work
- Distinctive: line 412
Use custom sending domain (not noreply@lemonsqueezy.com)
- Distinctive: line 415
Remove invalid emails from list
- Distinctive: line 416
Ask customers to whitelist sender
- Distinctive: line 446
Don't resend to different email without verification
- Distinctive: line 454
Never reveal full email in logs (mask: cus@example.com)
- Distinctive: line 455
Don't include payment details in resent email
- Distinctive: line 456
Use secure HTTPS links only
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Resend Receipt Skill
Purpose: Instant customer support for lost download links
What This Skill Does
Resends purchase confirmation emails through Lemon Squeezy API:
- Order lookup (by number or email)
- Order verification (paid, not refunded)
- Receipt email re-send
- Confirmation to support agent
- Customer receives fresh download link
When to Use This Skill
Common use cases:
- Customer emails: "I lost my download link"
- "Email went to spam, can you resend?"
- "Bought yesterday but never got confirmation"
- "Deleted email by accident"
- "Need to forward receipt to spouse"
- "Changed email address, need receipt at new address"
This is the #1 customer support request for digital products.
API Authentication
Uses LEMON_SQUEEZY_API_KEY environment variable (already set in Cloudflare).
Usage Examples
Example 1: Resend by order number
User: Customer lost download link for order #12345
Assistant: [Uses resend-receipt skill]Example 2: Resend by email
User: Resend receipt to customer@example.com
Assistant: [Looks up order, resends receipt]Example 3: Multiple orders
User: Customer says they never got confirmation for adrian@example.com
Assistant: [Finds all orders, asks which to resend, processes]Implementation
Step 1: Find Order
By Order Number:
curl "https://api.lemonsqueezy.com/v1/orders?filter[store_id]=YOUR_STORE_ID&filter[order_number]=12345" \
-H "Accept: application/vnd.api+json" \
-H "Authorization: Bearer $LEMON_SQUEEZY_API_KEY"By Email:
curl "https://api.lemonsqueezy.com/v1/orders?filter[store_id]=YOUR_STORE_ID&filter[user_email]=customer@example.com" \
-H "Accept: application/vnd.api+json" \
-H "Authorization: Bearer $LEMON_SQUEEZY_API_KEY"Step 2: Verify Order Eligibility
Can resend if:
- ✅ Order status is "paid"
- ✅ Order not refunded
- ✅ Email address valid
Cannot resend if:
- ❌ Order status "pending" (no purchase completed)
- ❌ Order status "failed" (payment failed)
- ❌ Order refunded (customer no longer has access)
Step 3: Resend Receipt
Endpoint: POST https://api.lemonsqueezy.com/v1/orders/{order_id}/resend-receipt
Request:
curl -X POST "https://api.lemonsqueezy.com/v1/orders/123456/resend-receipt" \
-H "Accept: application/vnd.api+json" \
-H "Content-Type: application/vnd.api+json" \
-H "Authorization: Bearer $LEMON_SQUEEZY_API_KEY"Response:
{
"data": {
"type": "orders",
"id": "123456",
"attributes": {
"order_number": 12345,
"user_email": "customer@example.com",
"receipt_sent": true,
"receipt_sent_at": "2026-01-06T10:00:00Z"
}
}
}What the customer receives:
- Email from:
noreply@lemonsqueezy.comor your custom domain - Subject: "Your receipt for This Wasn't in the Brochure"
- Contents:
- Order summary
- Download links
- Receipt PDF
- Support contact
Output Format
# ✅ Receipt Resent Successfully
## Order Details
- **Order Number:** #12345
- **Customer:** John Doe
- **Email:** customer@example.com
- **Product:** This Wasn't in the Brochure (Standard Edition)
- **Purchase Date:** January 1, 2026
- **Amount:** $15.00 AUD
## Receipt Delivery
- **Sent to:** customer@example.com
- **Sent at:** January 6, 2026 10:00 AM
- **Status:** Delivered ✅
## What the Customer Received
✅ Order confirmation email
✅ Download links for all purchased files
✅ PDF receipt
✅ Customer support contact
## Troubleshooting (If Customer Doesn't Receive)
**Tell customer to:**
1. Check spam/junk folder
2. Wait 5-10 minutes (email delivery delay)
3. Add `noreply@lemonsqueezy.com` to contacts
4. Check email spelling is correct: customer@example.com
5. Try different email if still not received
**If still not received after 30 minutes:**
- Email may be blocked by their provider
- Consider manual delivery via support email
- Check Lemon Squeezy email logsError Handling
Order not found:
❌ Order Not Found
**Search criteria:** Order #12345 or customer@example.com
**Possible reasons:**
- Order number typo
- Email typo (ask customer to check confirmation email they did receive)
- Order still pending (payment not completed)
- Order placed with different email
**Next steps:**
1. Ask customer to forward original confirmation email
2. Verify order number (no spaces, correct digits)
3. Ask if they used different email address
4. Check if payment is still pendingOrder pending:
⚠️ Order Payment Pending
**Order #12345** has status "pending" (payment not yet completed).
**Cannot resend receipt because:**
- Payment not confirmed yet
- No purchase completed
- No files to deliver
**Options:**
1. Wait for payment to complete (usually 5-30 minutes)
2. Customer should check if payment succeeded in their bank
3. If payment failed, customer needs to repurchaseOrder refunded:
⚠️ Order Refunded
**Order #12345** was refunded on January 5, 2026.
**Cannot resend receipt because:**
- Purchase was refunded
- Customer no longer has access
- Download links deactivated
**Options:**
1. Customer can repurchase if they want the book
2. Verify refund was intentional
3. If refund was error, process new purchaseEmail delivery failed:
❌ Email Delivery Failed
**Error:** Email bounced or rejected by customer's email provider
**Common causes:**
- Invalid email address
- Email provider blocking Lemon Squeezy
- Inbox full
- Email server down
**Solutions:**
1. Verify email address spelling
2. Try alternative email address
3. Manual delivery: Send download links directly via support email
4. Ask customer to whitelist `noreply@lemonsqueezy.com`Alternative Delivery Methods
If email delivery fails repeatedly:
Option 1: Manual Email
**Subject:** Your Download Links for Order #12345
Hi [Customer],
Your purchase of "This Wasn't in the Brochure" is confirmed!
**Order Details:**
- Order Number: #12345
- Amount Paid: $15.00 AUD
- Purchase Date: January 1, 2026
**Download Your Book:**
[Provide direct Cloudflare Pages link to authenticated download]
**Need Help?**
Reply to this email or visit: https://thiswasntinthebrochure.wtf/account
Best regards,
Adrian WeddOption 2: Account Access
Direct customer to account portal:
https://thiswasntinthebrochure.wtf/account
They can:
1. Enter order number
2. View all purchases
3. Download files
4. Access receiptOption 3: Magic Link (Future Enhancement)
Generate one-time magic link:
https://thiswasntinthebrochure.wtf/access/[token]
- Valid for 24 hours
- No login required
- Direct file accessCommon Support Scenarios
Scenario 1: "Email Went to Spam"
**Action:** Resend + spam folder instructions
Hi [Customer],
I've resent your receipt to [email]. It should arrive in 5-10 minutes.
**Check your spam folder:**
1. Look for email from noreply@lemonsqueezy.com
2. Mark as "Not Spam"
3. Add sender to contacts
If still not there in 30 minutes, reply and I'll send the links directly.Scenario 2: "Never Got Confirmation"
**Action:** Verify order exists, resend, troubleshoot
Hi [Customer],
I found your order #12345 from January 1. The receipt was originally sent to [email].
I've just resent it - should arrive in 5-10 minutes.
**Can't find it?**
- Check spam/junk folder
- Try searching your email for "Lemon Squeezy"
- Reply if still not received after 30 minutes
I'm here to help!Scenario 3: "Need to Forward to Spouse"
**Action:** Resend to original email (they can forward)
Hi [Customer],
I've resent the receipt to [original email].
You can forward that email to your spouse - all the download links will work for them too.
Alternatively, they can access the files at:
https://thiswasntinthebrochure.wtf/account (using order #12345)Scenario 4: "Changed Email Address"
**Action:** Cannot change email, provide workaround
Hi [Customer],
Unfortunately, I can't change the email address on the order (security policy).
**But here's what you can do:**
Option 1: Forward the email from your old address to your new one
Option 2: Access files at https://thiswasntinthebrochure.wtf/account (using order #12345)
Option 3: I can send you the download links directly to your new email
Which would you prefer?Bulk Resend Operations
Scenario: "Never received confirmation" (multiple customers)
If webhook failure caused multiple customers to miss receipts:
# Get all orders from specific date range
curl "https://api.lemonsqueezy.com/v1/orders?filter[store_id]=YOUR_STORE_ID&page[size]=100" \
-H "Authorization: Bearer $API_KEY" | \
# Filter by date, resend to all
...Use case:
- Webhook downtime (Jan 1-5, 2026)
- Email provider issue
- System migration
Process:
- Identify affected orders (date range, status "paid", receipt not sent)
- Get approval from user before bulk operation
- Resend in batches (10-20 at a time to avoid rate limits)
- Log successes/failures
- Follow up with any failures
Testing
Test receipt resend (TEST mode):
- Create test order: 4242 4242 4242 4242
- Wait for order to show "paid"
- Use skill to resend receipt
- Check test email inbox
- Verify download links work
- Confirm receipt PDF correct
Related Skills
/customer-lookup- Find customer's orders/order-lookup- Verify order details before resending/refund-order- If customer wants refund instead of access
API Documentation
Lemon Squeezy Orders API:
- Resend receipt: https://docs.lemonsqueezy.com/api/orders#resend-an-order-receipt
- List orders: https://docs.lemonsqueezy.com/api/orders#list-all-orders
- Get order: https://docs.lemonsqueezy.com/api/orders#retrieve-an-order
Performance Metrics
Track these to optimize support:
- Time from request to receipt sent (target: <2 minutes)
- % of customers who receive email successfully (target: >98%)
- % of customers who need follow-up (target: <5%)
- % resolved with resend vs. manual delivery (target: >90% resend)
Email Deliverability Tips
Improve delivery rates:
- Use custom sending domain (not noreply@lemonsqueezy.com)
- Set up SPF/DKIM/DMARC records
- Monitor bounce rates
- Remove invalid emails from list
- Ask customers to whitelist sender
Red flags (likely spam):
- Free email providers (Gmail, Hotmail) with aggressive filters
- Corporate email with strict IT policies
- Temporary/disposable email addresses
- Typos in email address
Automation Opportunities
Auto-resend triggers (future):
- Customer visits
/accountwith order number → No previous email → Auto-resend - Customer clicks "Resend Receipt" button → Self-service resend
- Failed webhook → Auto-resend after 1 hour
- Customer opens support ticket → Auto-suggest resend before human intervention
Self-Service Portal:
https://thiswasntinthebrochure.wtf/resend-receipt
- Enter order number
- Verify email
- Click "Resend"
- Instant deliverySecurity Considerations
Verify customer identity:
- Order number proves they received original email
- Email match confirms they're the buyer
- Don't resend to different email without verification
Prevent abuse:
- Rate limit: Max 3 resends per order per day
- Log all resend requests
- Flag suspicious patterns (multiple resends to different emails)
Privacy:
- Never reveal full email in logs (mask: cus****@example.com)
- Don't include payment details in resent email
- Use secure HTTPS links only
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

