# Daily post-delivery review requests for AfterShip customers

> Every morning we find shipments delivered three days ago, pull the customer's name and order details, and email each one asking for a review.

- Workflow type: agent
- Services: AfterShip, HubSpot, Gmail
- Categories: Marketing, Customer Support
- Published: 2026-07-17

## What it does

- Every day at 10am, checks your AfterShip account for shipments delivered exactly three days ago
- Looks each customer up in HubSpot to pull their first name and any past order context
- Drafts a warm, personal review-request email that mentions what they ordered and asks for a review
- Sends the email from your Gmail and tags the shipment in AfterShip so nobody gets asked twice

## What you'll need

- An AfterShip account with recent shipments
- A HubSpot account where your customers live as contacts
- A Gmail account to send the review-request emails from
- A link you want reviewers to visit (Google, Trustpilot, your product page, etc.)

## Prompt

Every day at 10am, run a review-request pass over customers whose AfterShip shipments were delivered exactly three days ago. The goal is one personal, warm email per customer, sent from Gmail, asking them to leave a review of what they bought.

Step 1. Use AfterShip's List Trackings operation to pull every tracking whose delivery status is delivered and whose delivery date falls inside a window three days back from today (e.g. delivered_at between 72 and 96 hours ago). Page through all results — don't stop at the first page.

Step 2. For each tracking, skip it if it already carries a review_requested tag on the AfterShip record, or if the matched HubSpot contact has a note or property saying we've already asked. This is the idempotency guard so the workflow can run every day without double-asking.

Step 3. Read the customer's email address off the tracking. Then call HubSpot's Search Contacts operation with that email to look up the contact. Pull their first name, lifecycle stage, and any previous order or deal context you can see. If no contact is found, that's fine — fall back to the customer name on the AfterShip tracking and treat them as a first-time buyer.

Step 4. Draft a personalized review-request email for each customer. Reference what they ordered using the tracking's order_id and title fields (product name, order number). Thank them by first name. Ask them to leave a review with a link (leave the review URL as a placeholder the user fills in during setup). Vary the tone slightly for returning HubSpot contacts versus first-time buyers — repeat customers get a warmer, familiar note; first-timers get a friendly welcome-flavored ask.

Step 5. Send the drafted email via Gmail's Send a Message operation, from the connected account, to the customer's email address. Use a subject line that mentions the product or order so it doesn't look like a mass blast.

Step 6. After the email is sent successfully, call AfterShip's Update Tracking by ID operation to add a review_requested tag to that tracking. That tag is what step 2 checks on future runs, so this is what closes the loop and keeps the workflow idempotent.

At the end of the run, produce a short summary: how many trackings were in the window, how many emails were sent, how many were skipped because they were already tagged, and any failures (missing customer email, Gmail send error, HubSpot lookup timeout) so the operator can spot-check. Trigger: cron, every day at 10am in the workspace's time zone. Integrations: AfterShip (source of delivered shipments and dedupe tag), HubSpot (customer enrichment via Search Contacts), Gmail (Send a Message).

## How to customize

- Change the send time or shift the window earlier or later than three days after delivery
- Swap the review link and rewrite the tone of the message (playful, formal, on-brand)
- Feed in extra HubSpot fields like lifecycle stage or previous orders so returning buyers get a different note than first-time ones

## FAQ

### Will this ever email the same customer twice?

No. As soon as a review request goes out, the workflow tags that shipment inside AfterShip. Every future run skips shipments that already carry the tag, so the ask only fires once per delivery.

### What if a customer isn't in HubSpot?

The email still goes out. We fall back to the name and address on the AfterShip tracking, so first-time buyers who haven't been synced to the CRM yet still get a friendly, personal note.

### Do I have to write the email copy myself?

No. The workflow drafts each email from scratch using the customer's first name, what they ordered, and any context we found in HubSpot. Every message reads like it was written by a person on your team.

### Can I ask for the review sooner or later than three days after delivery?

Yes. Three days is a good default because customers have had time to unbox and try the product but haven't forgotten about it. You can move that window earlier or later when you set the workflow up.

### Does this work with any courier?

Yes. AfterShip already tracks shipments across more than a thousand couriers, so this workflow doesn't care whether the package went out with UPS, DHL, Royal Mail, or anyone else.

Use this prompt in General Input: https://www.generalinput.com/prompts/daily-post-delivery-review-requests-for-aftership-customers