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.

Agentic Task
Amazon SESHubSpotSalesMarketingEmail AutomationOnboarding AutomationLead Enrichment
PromptCreate

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?
By default yes. Any contact created in HubSpot triggers a welcome. You can narrow it to specific sources or lifecycle stages if you'd rather only greet certain people.
What if the email address has bounced or unsubscribed before?
The workflow checks the Amazon SES suppression list first. If the address is on it, no email goes out and the workflow moves on quietly so you never accidentally re-mail someone.
How personalized does the email actually get?
It uses whatever data is on the HubSpot record: first name, company, job title, lifecycle stage, and any recent form answers. Engineers tend to get a more product-heavy note; buyers get one leaning on business outcomes.
Will the sales team know a welcome was sent?
Yes. After the email goes out, the workflow either sets a welcome_sent_at property on the contact or leaves a short note on the record, so anyone opening the contact in HubSpot can see the welcome already went.
Do I need to be out of the Amazon SES sandbox?
For real customer email, yes. Inside the SES sandbox you can only send to addresses you've verified, so request production access with AWS before pointing this at live traffic.

Related templates

Screen new HubSpot contacts for data breach exposure

The moment a new contact lands in HubSpot, we check their email against known data breaches and flag the high-risk ones so your team can act fast.

Have I Been Pwned
HubSpot
Slack Bot
Agentic Task
Enrich and prioritize new Help Scout tickets in Slack

The moment a new Help Scout conversation arrives, we check the customer in your CRM, flag high-value accounts, and post a priority alert to Slack before anyone touches it.

Help Scout
HubSpot
Slack Bot
Agentic Task
Screen new HubSpot companies against Companies House

Every time a new company lands in HubSpot, we look it up on the UK register, save a due-diligence summary to the record, and alert your team to any red flags.

HubSpot
Companies House
Slack Bot
Agentic Task
Turn newly incorporated UK companies into HubSpot leads

Each weekday morning, spot UK companies registered the day before in your target sectors, add the best fits to HubSpot, and recap them in Slack.

Companies House
HubSpot
Slack Bot
Agentic Task
Keep Gladly customers in sync with new HubSpot contacts

Every time you add a contact in HubSpot, we automatically create or update their Gladly profile so support always sees up-to-date customer details.

Gladly
HubSpot
Deterministic Code
Screen new HubSpot companies for security risk with Censys

Every morning we scan each new company's domain, rate its external security exposure, log the findings to the CRM record, and alert your team when a vendor looks risky.

Censys
HubSpot
Slack Bot
Agentic Task

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.