Skip to content

API & integrations

Connecting Sendy step by step

How to give every Sendy subscriber a personal link on your domain, protected by the Anti-Bot filter. About 15 minutes the first time, then two commands before each campaign.

Create fresh codes for every campaign. A code lives 60 days and opens the page up to 3 times, so a link saved into a subscriber field once and reused for months will stop working.

Even simpler: a link with tag

If you do not want to export and import lists, turn on "Link with tag" on the link card and put one address into the letter — Sendy appends each subscriber's tag after r=, and the personal code is created on the first click.

<a href="https://YOUR-DOMAIN/CODE?r=[Email]">…</a>

Needs agent 2026.10.18-1 or newer. Each new subscriber who clicks costs 1 link, like any code. Check the exact subscriber tag in your platform's list of available tags.

1Create the {field} field

Open your list → Custom fields (top right) and create a text field named CL_LINK. Its personalization tag will be [CL_LINK,fallback=].

2Get a link and a key

In your createlink.link dashboard create the link the campaign should lead to, or use an existing one — its number is LINK_ID. Then open the account menu → API and create a key named "Sendy" — that is YOUR_KEY.

3Export the recipients from Sendy

Export the list or segment you are going to send to as a CSV file and save it as export.csv. Note which column holds the email, counting from 1.

4Create the codes

Send the file to createlink.link. Replace LINK_ID and YOUR_KEY; if the email is not in the first column, change column=1.

curl -X POST "https://createlink.link/api/v1/links/LINK_ID/codes?column=1&skip_header=1" \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: text/csv" \
  --data-binary @export.csv

The answer contains job_id. Up to 1,000 recipients are ready at once; a bigger list takes from a few seconds to a couple of minutes.

5Download the file for Sendy

Put the job_id into the command. The file comes out with the column names Sendy expects.

curl "https://createlink.link/api/v1/jobs/JOB_ID?format=csv&columns=Name:,Email:ref,CL_LINK:url" \
  -H "Authorization: Bearer YOUR_KEY" -o links.csv

If the batch is still running, you get a short message with "status": "running" instead of a file — repeat the command in a minute.

6Import the file into the same list

Open the list → import via CSV and upload links.csv. Subscribers with matching emails get the new link: Sendy may count them as "already exists", but according to its author their custom fields are still updated. The empty Name column does not erase existing names.

7Put the link into the letter

Use the tag [CL_LINK,fallback=] as the link address. Keep ",fallback=" — Sendy requires it. After the = you can put your link's regular short address, so a subscriber without a code still gets a working link:

<a href="[CL_LINK,fallback=]">…</a>

8Turn off click tracking

At the bottom of the campaign form switch off "clicks" tracking (Sendy 2.1.2 and newer). Otherwise Sendy replaces your link with its own tracking address, and recipients see its domain instead of yours.

9Send a test to yourself

Add your own address to the list before step 3, send a test and check: the link in the letter starts with your domain, and clicking it opens your page. Only then send the campaign.