Skip to content

The moment it happens

Add form sign-ups to a Klaviyo list

People who submit your own form are created as profiles and subscribed to your list.

Runs
The moment it happens
Apps
Klaviyo
AI
Not needed
Access
write (profiles, lists, subscriptions)

Send this to your assistant

Create a ClickRuntime automation: give me a link my signup form can post to. When it sends an email and name, add the profile to my Klaviyo 'Newsletter' list.

Paste it into your assistant. It tells you what it will send or change before it runs live.

First time? Adding ClickRuntime to your assistant takes about two minutes.

Why use it

Why teams use this automation

Forms and tools outside Klaviyo, a Typeform quiz, a checkout page built elsewhere, a Webflow site with a custom signup form, collect email addresses that need to end up on a Klaviyo list. Without a connection, someone downloads a CSV every week and uploads it, so new signups wait days for a welcome email and some never make it to the list at all.

When the form tool sends its webhook, ClickRuntime creates or updates the matching profile in Klaviyo and subscribes it to the list you choose. The welcome flow in Klaviyo can start straight away, because the person is on the list within moments of signing up.

It is a good fit for sites that use more than one form builder and want a single path into Klaviyo.

What you get out of it

  • Welcome emails go out while interest is high

    The first message after a signup gets the best open rate of any email you will send that person. Subscribing immediately means that welcome arrives within minutes rather than after a CSV upload.

  • Nobody loses signups to a forgotten upload

    Manual imports fail when the person responsible is on vacation or busy. A webhook that runs on every submission means each address reaches the list, with no gaps in the data.

  • Existing profiles are updated, not duplicated

    If a person is already in Klaviyo, the profile is updated and subscribed rather than created twice. That keeps your reports honest and stops a customer from receiving duplicate messages.

  • Any form tool can feed the same list

    Whether the signup comes from a quiz, a popup built elsewhere or a partner landing page, they all use one path. You do not need a separate integration for each form builder.

  • List growth is measured accurately

    Because each address is added the moment the form is submitted, the growth chart in Klaviyo reflects real signup timing. That makes campaign attribution and weekly comparisons believable. Reports then show the real shape of growth, day by day.

How it works

What happens, step by step

  1. When someone submits your own sign-up form, the form sends their email and name to ClickRuntime straight away.

  2. The automation creates their profile in Klaviyo, or updates it if they are already there.

  3. It subscribes them to your newsletter list with email marketing consent, so they receive your next campaign.

Before it runs live

  • Connect Klaviyo
  • Paste your automation's link into the other app's webhook settings

What you get

RunsThe moment it happens
Add form sign-ups to a Klaviyo listjust nowSucceeded
Klaviyo · Newsletter listSubscribed sam@northwind.example (Sam)

Build your own

Need it to work differently?

This template is a starting point. Copy the prompt and change it, or describe a different automation from scratch, with your own conditions, more apps or an AI step. Your assistant writes it, tests it and runs it on ClickRuntime.
  • 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 Klaviyo steps into one automation

Under the hood

The code that runs this automation

This is the Python script that runs each time the automation starts. Your AI assistant writes it for you when you send the prompt, and you allow each step in your assistant. To change how the automation works, describe the change to your assistant and it updates the script for you. For every function it can use, see the script reference.
subscribe_from_a_webhook_klaviyo.pyexample
from clickruntime import on_event, credentials, http

API = "https://a.klaviyo.com/api"
NEWSLETTER_LIST_ID = "Xy12Ab"

def klaviyo():
    return {"Authorization": f"Klaviyo-API-Key {credentials.secret('KLAVIYO_API_KEY')}",
            "revision": "2024-10-15", "accept": "application/vnd.api+json", "content-type": "application/vnd.api+json"}

@on_event
def handle(event):
    body = event.json
    h = klaviyo()
    http.post(f"{API}/profile-import", headers=h, json={"data": {"type": "profile", "attributes": {
        "email": body["email"], "first_name": body.get("name")}}}).raise_for_status()
    job = {"data": {"type": "profile-subscription-bulk-create-job", "attributes": {"profiles": {"data": [
        {"type": "profile", "attributes": {"email": body["email"],
                                           "subscriptions": {"email": {"marketing": {"consent": "SUBSCRIBED"}}}}}]}},
        "relationships": {"list": {"data": {"type": "list", "id": NEWSLETTER_LIST_ID}}}}}
    http.post(f"{API}/profile-subscription-bulk-create-jobs", json=job, headers=h).raise_for_status()
    return {"subscribed": True}

FAQ

Common questions

Does this respect consent and double opt-in?
The automation subscribes the profile to the list using the consent settings you configure. If your list requires double opt-in, Klaviyo sends the confirmation email and the person is only fully subscribed after confirming. Make sure your form clearly asks for marketing permission.
What data can I save besides the email address?
You can pass a first name, last name, phone number and custom properties such as the signup source or a quiz result. They are saved on the profile and can be used for segmentation and personalization in your emails.
Which form tools work with it?
Any tool that can send a webhook with the form data to a URL will work, including most form builders, landing page tools and custom code. The webhook payload just needs an email address field that the automation can read.
What permissions does it need?
write (profiles, lists, subscriptions). Nothing else in your accounts is used.
Does it need AI?
No. It runs without AI, so it doesn't use your plan's AI allowance.
How many runs does it use?
One run for each event the app sends.
Can I change how it works?
Yes. Describe the change to your AI assistant, for example a different schedule, channel or filter. It updates the automation, tests it and tells you what changed.

Set up “Add form sign-ups to a Klaviyo list” from your assistant

Copy the prompt above, or connect your assistant first. Free plan, no credit card.