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.