The moment it happens
Add new sign-ups to a SendGrid list
Everyone who fills in your sign-up form ends up in your SendGrid contacts and newsletter list.
- Runs
- The moment it happens
- Apps
- SendGrid
- AI
- Not needed
- Access
- Marketing (write)
Send this to your assistant
Create a ClickRuntime automation: give me a link my sign-up form can post to, and add each person's name and email to my SendGrid 'Newsletter' list.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A newsletter signup form, a webinar registration page and a free-trial form all collect email addresses, and each one usually ends in a spreadsheet or a tool nobody checks. Someone later exports those addresses and imports them into SendGrid by hand, so a person who signed up on a Tuesday does not hear from you until the next batch import, if ever. Typos creep in, the same address is added three times, and people who wanted your welcome email get nothing while their interest is high.
As soon as a signup arrives, the automation takes the email and name from it and upserts the contact into your SendGrid Marketing Contacts, adding them to the list you choose. Upsert means an existing address is updated rather than duplicated. It runs the instant the form submits, so the contact is ready for a welcome sequence or the next campaign. Small businesses, course creators and product teams use it to keep list growth hands-off.
What you get out of it
Welcome emails reach people while they care
A contact added within seconds of signing up can receive a welcome message the same hour. Engagement is highest right after signup, and a delay of days measurably weakens the connection.
No more periodic import chores
Nobody has to export a spreadsheet, clean it and upload it every Friday. The time goes back to writing campaigns, and the list is never a week behind the real number of subscribers.
Duplicate contacts are avoided
Upserting by email means someone who signs up twice, or through two forms, appears once. Your contact count stays honest, and you are not billed for or mailing the same person twice.
The right list from the start
Each source can feed a specific list, such as webinar attendees versus newsletter readers. Segmentation begins at the moment of signup rather than in a later cleanup that never gets finished.
Fewer typos from manual entry
Addresses are passed along exactly as the form received them. Retyping or copy and paste from a spreadsheet is where a stray space or swapped letter creates a contact that will later bounce.
How it works
What happens, step by step
When someone fills in your sign-up form, it sends their details to ClickRuntime straight away.
ClickRuntime splits their name into first and last name.
It adds them to your SendGrid contacts and your newsletter list. If they are already there, their details are updated rather than duplicated.
Before it runs live
- Connect SendGrid
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other SendGrid steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, http
LIST_ID = "a1b2c3d4-0000-0000-0000-newsletter00"
@on_event
def handle(event):
s = event.json
first, _, last = s.get("name", "").partition(" ")
res = http.put("https://api.sendgrid.com/v3/marketing/contacts",
headers={"Authorization": f"Bearer {credentials.secret('SENDGRID_API_KEY')}"},
json={"list_ids": [LIST_ID], "contacts": [{"email": s["email"], "first_name": first, "last_name": last}]})
res.raise_for_status()
return {"job_id": res.json()["job_id"]}FAQ
Common questions
Does SendGrid need me to send a confirmation email first?
Can it add a signup to different lists based on the form?
What fields can be saved besides email?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get told when emails bounce or are marked as spam
Bounces, dropped emails and spam complaints are posted with the address and reason, grouped so one bad batch doesn't flood the channel.
See how it worksReply to inbound emails with AI through SendGrid
Emails sent to your domain get a polite, relevant reply from your own address.
See how it worksGet yesterday's SendGrid delivery numbers each morning
You see delivered, bounced and spam counts every day, with a warning when the bounce rate climbs.
See how it worksKeep exploring
Set up “Add new sign-ups to a SendGrid list” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.