How to use Transmit Code?
With Transmit Code you can connect a Proofly data-collecting notification (like an E-mail Gatherer, Form Gatherer, Contact Request or Spin to Win) to any external CRM or marketing tool that offers an API — MailChimp, ActiveCampaign, HubSpot, your own backend, you name it. Every lead your notification collects is instantly forwarded to the tools you define.
You will find it under the Data tab of a collecting notification, in the Transmit section. It looks harder than it is — copy one of the examples below, replace the details (API keys, list IDs, URL) with your own, and you are done.
MailChimp example:
[TRANSMIT="https://us1.api.mailchimp.com/3.0/lists/1c15e4d9ab/members/"]
{AUTH}
user:1a20f1fa3243a3f4879a60c0a1082102-us1
{/AUTH}
{HEADERS}
Content-Type: "application/json"
{/HEADERS}
{BODY}
{
"apikey": "1a20f1fa3243a3f4879a60c0a1082102-us1",
"email_address": "{INPUT}",
"status": "subscribed"
}
{/BODY}
[/TRANSMIT]
ActiveCampaign example:
[TRANSMIT="https://proofly.api-us1.com/api/3/contacts"]
{HEADERS}
Api-Token: iljXqM4pOggPKq7PgNl8cudpwUscxm
Content-Type: "application/json"
{/HEADERS}
{BODY}
{
"contact": {
"email": "{INPUT}"
}
}
{/BODY}
[/TRANSMIT]
How it works
Transmit Code is a small markup language built by the Proofly team. You describe where the data should go and what the request should look like, and our servers turn that into a live HTTP POST request the moment a visitor submits your notification.
Every transmit starts with a [TRANSMIT="..."] block. The URL between the quotes is the destination the data is posted to — it must be an absolute URL starting with http:// or https://. Keep the same structure and indentation as the examples above, and mind the newlines — a misplaced line break is the most common cause of a failing transmit.
Inside the block you can use the following building blocks:
-
{AUTH}HTTP basic authentication, with the username and password separated by a colon (:), for example
user:secret.
Optional • Should contain a single line. -
{HEADERS}HTTP headers for the request. Add one header per line as
Name: value. Use this when your endpoint expects a specific content type (like JSON) or an API-token header.
Optional • One header per line. -
{BODY}The actual content of the request — plain text, JSON, XML or whatever your tool expects. Place the
{INPUT}tag anywhere inside the body; it is replaced with the data your notification collected (for example the email address) right before the request is sent.
Required • Contains the{INPUT}placeholder.
Sending to more than one tool
You can chain up to 5 transmits per notification by placing multiple blocks after each other. This lets you push the same lead to, say, both MailChimp and ActiveCampaign at once:
[TRANSMIT="https://tool-one.com/api/subscribe"] ... [/TRANSMIT] [TRANSMIT="https://tool-two.com/api/contacts"] ... [/TRANSMIT]
Good to know
Requests are sent as POST with a 5-second timeout.
Every transmit is logged, including the response and HTTP status code, so you can verify whether your tool accepted the data.
If a request fails, double-check your API key, the destination URL and — most importantly — the structure and newlines of your code.