Resend Integration Setup
Connect Parsley to Resend. Step-by-step setup, verification, and a worked Automation example for hot-lead nurture flows.
Connect Parsley to Resend to push first-party buyer-intent signals as native contact properties and fire parsley.lead.scored events on hot leads. This guide walks through setup, verification, and an end-to-end Automation example. For the full primitives reference (the 13 properties and the event payload), see the Resend integration page.
Quick Setup
- Generate a Resend API key
- Navigate to Hub > Integrations in Parsley
- Click Connect on the Resend card and paste the key
- Pick the Resend audience to sync into
- Click Send test event to verify
That's it. Every scored chatbot conversation now upserts a contact and fires parsley.lead.scored into your audience.
Prerequisites
- A Resend account - The free tier includes contact properties and audiences. Sign up at resend.com if you don't have one.
- A Parsley Business account - Native integrations require a Business plan. Upgrade here if you're on Free.
- Admin access in both tools - You need permission to create API keys in Resend and connect integrations in Parsley.
- An audience in Resend - You'll pick one during connect as the destination for Parsley contacts. Create one in advance or create a fresh "Parsley Leads" audience for clean separation.
Step 1: Generate a Resend API key
- Log in to Resend
- Go to API Keys in the left sidebar
- Click Create API Key
- Name it "Parsley Integration"
- Set permission to Full access - the integration needs read/write on contacts, contact properties, and events
- Copy the key
Keep the key handy for the next step. Resend only shows it once.
Step 2: Connect from Hub > Integrations
From your Parsley dashboard:
- Go to Hub in the left sidebar
- Click Integrations
- Find the Resend card
- Click Connect
- Paste your API key
- Pick the destination audience from the dropdown (Parsley fetches your audiences from Resend automatically)
- Toggle Enable contact sync to confirm GDPR consent
- Click Save
The Resend card will now show "Connected" with the chosen audience name underneath.
Step 3: Properties auto-provision
On connect, Parsley calls Resend's contact-properties API to create 13 parsley_-prefixed properties in your account. Creation is idempotent: existing properties are detected and reused, and nothing is overwritten.
For the full list of property keys, types, and accepted values, see the Primitives table on the integration page. You don't need to do anything in Resend - the properties appear automatically and are ready to use in segment queries and broadcast templates.
Step 4: Verify with a test event
The connect screen has a Send test event button that pushes a sample contact and fires parsley.lead.scored into your audience.
After clicking it, check Resend:
- Open your Resend dashboard
- Go to Audiences and select the audience you connected
- The test contact should appear with the
parsley_properties populated (lead quality, intent signal, MEDDIC values, etc.) - Go to Logs in the Resend sidebar and filter by event name
parsley.lead.scored- the test event should be visible with a recent timestamp
If both checks pass, the integration is wired correctly and live conversations will start flowing in.
Worked Example: Hot Lead Automation
This is the highest-leverage thing you can do with the integration: route hot leads from a chatbot conversation directly into a Resend Automation that sends the right follow-up email without you lifting a finger.
Step 1: Create a new Automation in Resend
- In the Resend dashboard, go to Automations
- Click New Automation
- Name it "Parsley Hot Lead Follow-Up"
Step 2: Set the trigger
- Choose trigger type Custom event
- Set event name to
parsley.lead.scored - This fires every time a Parsley conversation gets scored, once a lead email is on file
Step 3: Add a condition
- Add a Condition step
- Set the rule to:
payload.leadQuality == "hot" AND payload.intentScore >= 4 - This ensures the Automation only proceeds for high-intent prospects, not warm or cold leads. The
intentScore >= 4floor catches both Hot (5) and high-end Warm (4) without firing on every conversation.
Step 4: Add the email step
-
Add a Send Email step
-
Use a templated email referencing the Parsley properties as merge tags. A starting template:
Hi {{ first_name }}, Saw you were asking about {{ parsley_topics }} on my Parsley page. Sounds like you're evaluating - happy to jump on a 15-minute call to walk through how this fits your stack. Pick a time: [your Calendly link] Or just reply with what you're trying to solve and I'll send over the relevant docs. -
Personalise the rest however you'd normally write a follow-up.
Step 5: Activate
Click Activate on the Automation. The next time a Parsley conversation scores Hot (and the visitor has shared an email), this email goes out automatically.
The conversation context that triggered the Hot score is also visible in your Parsley dashboard - reference it in the follow-up if you reply manually.
Other Patterns
A few more ways to put the primitives to work. For copy-paste code blocks (segment query syntax, automation conditions, broadcast merge tags), see the Quickstart section on the integration page.
- Cohort broadcasts by intent stage. Build a Resend Segment on
parsley_intent_signal = "evaluation"for prospects mid-buying-cycle, separate from"research"(top of funnel) and"high_intent"(ready to buy). Send each cohort a different broadcast cadence. - Recency filters. Combine intent signals with
parsley_last_interaction > now() - 7dto broadcast only to leads who chatted recently. Avoids spamming dormant contacts who scored Hot months ago. - MEDDIC-driven branching. Use
parsley_meddic_decision_process = "true"as a stronger signal than lead quality alone - prospects who described their evaluation process are typically further along than those who only showed pricing curiosity. - Topic-aware templates. Reference
{{ parsley_topics }}in broadcast subject lines so each prospect gets a relevant hook ("More on pricing" vs "More on integrations").
Troubleshooting
"Connection Failed" Error
- Make sure you copied the complete API key
- Check that the key has Full access (or at minimum read/write on contacts, contact properties, and events)
- Try generating a fresh key in Resend and reconnecting
Properties not visible in Resend
- Properties are scoped to your Resend account, not to a specific audience - check the Contact Properties settings page in Resend (not the audience view)
- If the connect succeeded but properties are missing, hit Disconnect then Connect again to retrigger provisioning. Creation is idempotent so this is safe.
parsley.lead.scored event not firing
- The event only fires after a visitor's email is captured. If a chatbot conversation happened anonymously, no event fires (and no contact appears) until the visitor shares their email.
- Conversations also need to have been scored at least once - very short exchanges (1-2 turns) may not trigger a score.
- Confirm the integration shows "Connected" status in Parsley's Hub > Integrations.
Contact appears but properties are empty
- If the contact was already in your Resend audience as
unsubscribed = true, Parsley preserves that state and skips the property update (we never overwrite an unsubscribe). Re-subscribe the contact in Resend if you want Parsley to populate properties on the next conversation. - If the contact is new and properties are empty, the conversation may not have been scored yet. Wait for the next message turn or check the Parsley dashboard for the scored conversation.
What's Next
- Resend integration overview, primitives reference, and FAQ
- Browse all Parsley integrations
- Configure your AI chatbot so conversations score reliably and produce useful intent signals
Questions? Contact us or email peter@parsley.id.
