Offer configuration stays visible
Use Offers to decide what SendGrid receives: product, price, buyer, checkout mode, invoice, and automation context.
Product surfaces
Integrations work best when the checkout surface, payment state, invoice record, and post-purchase automation all point at the same commercial object. These product screens show the Plandalf controls that should be configured before SendGrid receives checkout, payment, tax, or workflow context.
Use Offers to decide what SendGrid receives: product, price, buyer, checkout mode, invoice, and automation context.
Before SendGrid enters the stack, operators still need checkout templates, products, prices, coupons, order bumps, upsells, and branded offer content they can inspect.
SendGrid should fit into the work after checkout: fulfilment, records, CRM updates, support context, webhooks, and sequences.
SendGrid can start the sale through a hosted checkout, embedded checkout, modal, inline flow, or buy button depending on the stack.
SendGrid is a transactional email platform. There’s no visual workflow builder for promo enrolment, so that path flows through Zapier or a direct Custom API call from the system that triggers each send — see those tabs for the setup.
{{email}}
substitutes into the <img src> query string at render time, as long
as the Mail Send API call includes email in dynamic_template_data.Setup templates
Copy-paste setups for the most common ways to wire SendGrid into Plandalf.
promo · email
In your SendGrid Dynamic Template, paste this <img> tag into the
HTML editor. SendGrid's templating uses Handlebars — {{email}}
resolves to the recipient's address when the template data includes
an email field (which is the convention for transactional sends).
<img
src="{{ promo.countdown_url }}?ref={{email}}"
alt="Time remaining on this offer"
/>
Make sure the dynamic_template_data payload you POST to the Mail
Send API includes email alongside your other template vars, or
swap in whichever field carries the address in your setup.
Automation graph
How SendGrid participates in Plandalf sequences: what events it exposes upward, and what actions Plandalf can perform on it.
Events Plandalf can subscribe to through webhooks, API work, checkout state, payment context, and connected integrations.
sendgrid.subscriber_addedThings Plandalf sequences can do after checkout, payment, invoice, customer, or deadline events.
sendgrid.add_subscribersendgrid.tagsendgrid.send_emailsendgrid.custom_api_callEmbeddable surfaces: Plandalf countdown image and buy button HTML · Per-recipient countdown GIF with merge-tag substitution
trigger: stripe.payment_succeeded
actions:
- sendgrid.add_subscriber:
list: paying-customers
tag: tier-${plan}
- plandalf.grant_entitlement: ${product_slug}Pair it with
Platforms whose roles complement SendGrid inside a Plandalf sequence.
SendGrid + ActiveCampaign
Capture a lead on ActiveCampaign, nurture it through SendGrid.
SendGrid + beehiiv
Capture a lead on beehiiv, nurture it through SendGrid.
SendGrid + Kit (ConvertKit)
Capture a lead on Kit (ConvertKit), nurture it through SendGrid.
SendGrid + Customer.io
Capture a lead on Customer.io, nurture it through SendGrid.
SendGrid + Drip
Capture a lead on Drip, nurture it through SendGrid.
SendGrid + Flodesk
Capture a lead on Flodesk, nurture it through SendGrid.
Integration methods
Each method below is the minimum viable setup. Pick the one closest to how you already use SendGrid with checkout, payments, invoices, webhooks, API work, SDK checkout, and integrations.
Drop the Plandalf embed script into a SendGrid HTML block and tag any element with `data-plandalf-present` to open the configured flow on click.
<script src="https://cdn.plandalf.com/embed.js" async></script>
<button data-plandalf-present="offer_abc123">
Buy now
</button>Add an HTML block to any SendGrid email and paste the Plandalf countdown URL. SendGrid's merge tag `{{email}}` substitutes per recipient so each subscriber sees a timer pegged to their own deadline.
<img
src="https://cdn.plandalf.com/timers/{TIMER_ID}.gif?ref={{email}}"
alt="Time remaining on this offer"
width="600"
height="120"
/>For anything not covered by a native trigger, configure a SendGrid webhook to POST to Plandalf. The payload is forwarded into the sequence as `${event}`.
curl -X POST https://api.plandalf.com/v1/webhooks/sendgrid \
-H "Authorization: Bearer $PLANDALF_API_KEY" \
-H "Content-Type: application/json" \
-d @event.jsonFAQ
Plandalf itself is free to connect to SendGrid. You only need a SendGrid account that allows API access, which is almost every paid plan.
Under 10 minutes. OAuth (or paste an API key), pick the lists/segments you care about, and you're live. No code unless you want it.
Yes. Disconnecting only revokes the credentials — historical events Plandalf fired stay in your sequence logs, and SendGrid's own records are untouched. You can reconnect any time and resume from the last seen event.
Plandalf stores the SendGrid contact ID and the events Plandalf fired against that contact. Email content stays in SendGrid; Plandalf doesn't mirror your audience or newsletter archive.
Use the generic `sendgrid.custom_api_call` action or the inbound `sendgrid.webhook` trigger. Anything SendGrid's REST API can do, a Plandalf sequence can drive.
Plandalf respects SendGrid's API rate limits and backs off on 429s. For very high-volume use cases, ask about a dedicated worker pool.
SendGrid's homepage at https://sendgrid.com links to their developer docs. For Plandalf-side questions about the SendGrid integration, see the Plandalf docs.