Capture Typeform leads in Brevo and alert sales in Slack
Every new Typeform response becomes a Brevo contact, a tailored welcome email, and a four-line lead summary in your sales Slack channel.
When a new response comes in from my Typeform form (webhook trigger from Typeform), I want an agent to capture the lead end-to-end in Brevo and notify the sales team in Slack.
Read the submitted answers from the webhook payload, then run these four steps in order:
1. Use Brevo "Create Contact" to create or upsert the contact with the email, name, phone, company, and any custom attributes from the form. Use UPPERCASE attribute names per Brevo's convention (FIRSTNAME, LASTNAME, SMS, COMPANY, plus any custom ones like ROLE, TEAM_SIZE, USE_CASE). Set updateEnabled so re-submissions update the existing contact instead of erroring.
2. Use Brevo "Add Contacts to List" to drop the contact into a list chosen by their answers. For example: "demo-requests" if they asked for a demo, "pricing-inquiries" if they asked about pricing, "newsletter-signups" for general signups. If their intent is unclear, default to a general "form-leads" list. The agent should map answers to list IDs (the user will configure the list IDs).
3. Use Brevo "Send Transactional Email" to send a personalized welcome. Do NOT use a canned template. Generate the subject and body so they reference what the lead actually said in the form: acknowledge their specific use case or question, suggest a relevant next step (book a demo, see a pricing page, read a relevant resource), and sign off from the sales team. Keep it short, warm, and human, not marketing-speak.
4. Use Slack "Send a Message" to post a 4-line lead summary into the sales channel:
Line 1: Lead name and company. Line 2: What they want / intent (from their answers). Line 3: One relevant detail such as use case, team size, or urgency. Line 4: A link back to the Brevo contact (use the Brevo app URL with the contact ID returned from step 1).
The point is that the welcome email and the Slack ping should both be tailored to the answers, not boilerplate. Two different leads with different answers should get visibly different emails and different Slack messages.
Edge cases: if the email field is missing or invalid, skip the Brevo steps and post a "skipped, missing email" note to Slack with the Typeform response ID so a human can follow up. If a Brevo step fails, log the error and continue to Slack so the sales team still hears about the lead.
Additional information
What does this prompt do?
- Watches a Typeform form and reacts the moment someone submits a response.
- Creates or updates the contact in Brevo with their name, email, phone, company, and any custom answers from the form.
- Adds the lead to the right Brevo list based on what they asked about (demo, pricing, newsletter, etc.).
- Sends a personalized welcome email from Brevo that references the actual answers they gave, not a canned template.
- Posts a short, scannable lead summary in your sales Slack channel with a link back to the Brevo contact.
What do I need to use this?
- A Typeform account with the form you want to capture leads from.
- A Brevo account on a plan that supports transactional email and contact lists.
- A Slack workspace with permission to post in your sales channel.
How can I customize it?
- Change which Brevo list each lead lands in based on different answers in your form.
- Tweak the tone, length, or signature on the welcome email so it matches your brand voice.
- Point the alert at a different Slack channel, or route certain answer types (like 'demo request') to a dedicated channel.
Frequently asked questions
What if the same person fills out the form twice?
Can I keep using my existing Brevo welcome template?
Does this work with Typeform's free plan?
What does the Slack message actually look like?
Will it process old responses I already collected?
Stop letting Typeform leads sit in a spreadsheet.
Connect Typeform, Brevo, and Slack once, and every new response becomes a tracked contact, a personalized welcome, and a sales-ready alert.