Welcome new HubSpot contacts with a personalized email from Amazon SES
When a new contact lands in HubSpot, an agent writes a warm, role-aware welcome email, sends it through Amazon SES, and logs the send on the contact record.
When a new contact is created in HubSpot, greet them with a warm, personalized welcome email sent through Amazon SES, then log the send back on the HubSpot contact so the sales team can see it went out.
Trigger: HubSpot webhook on the contact.creation event. HubSpot's native Workflows/Automation webhook fires when a new contact is created; the payload contains the contact id. There is exactly one trigger.
Step 1 — fetch context. Use the HubSpot Get Contact operation to pull the full contact record by id. Read the useful properties: first name, last name, email, company, jobtitle, lifecyclestage, lead source, and any recent form submission fields on the record. If the contact has no email, stop the workflow.
Step 2 — suppression check. Before drafting anything, call the Amazon SES Get Suppressed Destination operation for the contact's email address. If the address is on the suppression list, stop the workflow: do not draft, do not send, do not write anything back to HubSpot. Treat this as a normal expected outcome, not an error. If SES returns a not-found response for that email, it is not suppressed and you continue.
Step 3 — draft the email. Write a warm, one-off welcome email tuned to the person's role and company. Lean product-heavy for engineering titles (engineer, developer, architect, CTO); lean ROI-focused and outcome-focused for buyers and executives (director, VP, head of, chief). For operations and support titles, focus on time saved and process improvement. Reference specifics from the record (first name, company, one detail from job title or a recent form answer) so it never reads like a template. Keep it short: two to four short paragraphs plus a friendly signoff from a named sender. No bullet lists, no attachments, no marketing boilerplate.
Step 4 — send via Amazon SES. Use the Amazon SES Send Email operation with Simple content (Subject + plain-text Body, plus an HTML Body if easy). Send from a verified sender identity that I will configure. The subject should be short and human, not marketing-y.
Step 5 — log the send back to HubSpot. After a successful send, use HubSpot Update Contact to set a welcome_sent_at property on the contact (ISO 8601 timestamp of when it was sent). If that property does not exist yet on the account, fall back to HubSpot Create Note associated with the contact, with a short body like: Welcome email sent via Amazon SES on {date} with subject {subject}. Either approach is acceptable; prefer the property update when the property is available so it is queryable.
Error handling. If Amazon SES Send Email fails (rejected recipient, sandbox limit, throttling, or any 4xx/5xx), do not mark the contact as welcomed and skip the follow-up write so the record stays honest. Log the error and stop. If the HubSpot Update Contact call fails because the property is unknown, retry with the Create Note fallback.
Integrations used: HubSpot (webhook trigger, Get Contact, Update Contact, Create Note) and Amazon SES (Get Suppressed Destination, Send Email). Do not use SES contact-list APIs; suppression lookup is enough.
Additional information
What does this prompt do?
- Fires the moment a new contact is created in your HubSpot account.
- Reads useful context from the contact record (name, company, job title, lifecycle stage, and any recent form answers) and drafts a warm one-off welcome email tuned to who they are.
- Checks the Amazon SES suppression list first so you never email an address that has already bounced or unsubscribed.
- Sends the email from your verified sender and writes the send back onto the HubSpot contact so your sales team can see the welcome went out.
What do I need to use this?
- A HubSpot account where you can create contacts and update contact properties.
- An Amazon SES account with a verified sender address or domain (out of the SES sandbox for real customer email).
- Optional: agreement on which contact properties matter for personalization, like job title, lifecycle stage, or recent form fields.
How can I customize it?
- Adjust the tone or angle of the welcome email so engineers get a more product-heavy note and buyers get a more ROI-focused one.
- Choose how to log the send: set a welcome_sent_at property on the contact, drop a full note on the record, or do both.
- Add filters so only certain lifecycle stages or lead sources trigger a welcome, instead of every new contact.
Frequently asked questions
Does this send to every new contact, no matter how they came in?
What if the email address has bounced or unsubscribed before?
How personalized does the email actually get?
Will the sales team know a welcome was sent?
Do I need to be out of the Amazon SES sandbox?
Related templates
Give every new contact a warm hello.
Let an agent read the record and write the welcome email so no lead sits in HubSpot without hearing from you.