curl --request GET \
--url https://app.leadconduit.com/flows \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://app.leadconduit.com/flows"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://app.leadconduit.com/flows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.leadconduit.com/flows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.leadconduit.com/flows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.leadconduit.com/flows")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leadconduit.com/flows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body[
{
"name": "Sales Leads",
"enabled": true,
"fields": [
"first_name",
"last_name",
"email",
"phone_1",
"address_1",
"city",
"state",
"postal_code",
"trustedform_cert_url"
],
"sources": [
{
"integration": {
"module_id": "leadconduit-salesforce.outbound.create_contact",
"mappings": [
{
"property": "<string>",
"value": "<string>",
"id": "1aacd0",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"entity": {
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>",
"time_zone": "America/New_York"
},
"id": "1aacd0",
"acceptance_criteria": {
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"outcome": "failure",
"reason": "Lead must live in TX"
},
"feedback": {
"integration": {
"module_id": "leadconduit-salesforce.outbound.create_contact",
"mappings": [
{
"property": "<string>",
"value": "<string>",
"id": "1aacd0",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
},
"caps": [
{
"id": "5fd438f91f0d12766e2bfee5",
"type": "volume",
"name": "Monthly leads from TX",
"maximum": 1200,
"duration": 1,
"duration_units": "month",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"caps": "<array>",
"time_zone": "America/New_York",
"reason": "<string>",
"created_at": "2020-11-23T11:41:52Z"
}
],
"ping_limits": [
{
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>",
"maximum": 123,
"duration": 123,
"duration_units": "<string>",
"time_zone": "America/New_York",
"created_at": "2023-11-07T05:31:56Z"
}
],
"credential_id": "5fd4371e940df5a34a3888b2",
"pricing": {
"override": true,
"prices": [
{
"amount": 123,
"id": "<unknown>",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"pricing_service": {
"service_id": "5fd4371e940df5a34a3888b2",
"fallback_price": 123
},
"enabled": true,
"authentication_required": true
}
],
"steps": [
{
"type": "filter",
"outcome": "<string>",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"id": "1aacd0",
"description": "<string>",
"notes": "<string>",
"reason": "<string>",
"enabled": true
}
],
"id": "5fd4371e940df5a34a3888b2",
"errors": {},
"caps": [
{
"id": "5fd438f91f0d12766e2bfee5",
"type": "volume",
"name": "Monthly leads from TX",
"maximum": 1200,
"duration": 1,
"duration_units": "month",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"caps": "<array>",
"time_zone": "America/New_York",
"reason": "<string>",
"created_at": "2020-11-23T11:41:52Z"
}
],
"acceptance_criteria": {
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"outcome": "failure",
"reason": "Lead must live in TX"
},
"pricing": {
"override": true,
"prices": [
{
"amount": 123,
"id": "<unknown>",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"list_checks": {
"duplicate": {
"value": "{{lead.phone}}",
"list_name": "duplicates",
"lookback": {
"value": 7,
"interval": "day"
}
},
"existing_customer": {
"value": "{{lead.email}}",
"list_name": "customer_emails",
"lookback": null
},
"dnc": {
"value": "{{lead.phone}}",
"list_name": "do_not_call",
"lookback": null
}
},
"destinations": [
{
"name": "Salesforce",
"integration_name": "<string>",
"integration_icon_url": "<string>",
"instance_id": "<string>",
"actions": [
{
"name": "Add Lead",
"action_id": "Add Lead",
"webhook_url": "<string>"
}
],
"flow_usages": {
"count": 123,
"flows": [
{
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>"
}
]
}
}
],
"ping_enabled": false,
"ping_limits": [
{
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>",
"maximum": 123,
"duration": 123,
"duration_units": "<string>",
"time_zone": "America/New_York",
"created_at": "2023-11-07T05:31:56Z"
}
],
"pricing_service": {
"service_id": "5fd4371e940df5a34a3888b2",
"fallback_price": 123
},
"firehose": {
"enabled": true,
"credential_id": "5fd4371e940df5a34a3888b2",
"bucket": "<string>",
"prefix": "<string>",
"services": {
"aws": {
"enabled": true,
"credential_id": "5fd4371e940df5a34a3888b2",
"bucket": "<string>",
"prefix": "<string>"
},
"azure": {
"enabled": true,
"credential_id": "5fd4371e940df5a34a3888b2",
"bucket": "<string>",
"connection_string": "<string>",
"prefix": "<string>"
}
}
},
"level": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"error": "not authorized"
}List all flows
Returns all the flows associated to an account
curl --request GET \
--url https://app.leadconduit.com/flows \
--header 'Authorization: Basic <encoded-value>'import requests
url = "https://app.leadconduit.com/flows"
headers = {"Authorization": "Basic <encoded-value>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Basic <encoded-value>'}};
fetch('https://app.leadconduit.com/flows', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.leadconduit.com/flows",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.leadconduit.com/flows"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Basic <encoded-value>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.leadconduit.com/flows")
.header("Authorization", "Basic <encoded-value>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.leadconduit.com/flows")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Basic <encoded-value>'
response = http.request(request)
puts response.read_body[
{
"name": "Sales Leads",
"enabled": true,
"fields": [
"first_name",
"last_name",
"email",
"phone_1",
"address_1",
"city",
"state",
"postal_code",
"trustedform_cert_url"
],
"sources": [
{
"integration": {
"module_id": "leadconduit-salesforce.outbound.create_contact",
"mappings": [
{
"property": "<string>",
"value": "<string>",
"id": "1aacd0",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"entity": {
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>",
"time_zone": "America/New_York"
},
"id": "1aacd0",
"acceptance_criteria": {
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"outcome": "failure",
"reason": "Lead must live in TX"
},
"feedback": {
"integration": {
"module_id": "leadconduit-salesforce.outbound.create_contact",
"mappings": [
{
"property": "<string>",
"value": "<string>",
"id": "1aacd0",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
},
"caps": [
{
"id": "5fd438f91f0d12766e2bfee5",
"type": "volume",
"name": "Monthly leads from TX",
"maximum": 1200,
"duration": 1,
"duration_units": "month",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"caps": "<array>",
"time_zone": "America/New_York",
"reason": "<string>",
"created_at": "2020-11-23T11:41:52Z"
}
],
"ping_limits": [
{
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>",
"maximum": 123,
"duration": 123,
"duration_units": "<string>",
"time_zone": "America/New_York",
"created_at": "2023-11-07T05:31:56Z"
}
],
"credential_id": "5fd4371e940df5a34a3888b2",
"pricing": {
"override": true,
"prices": [
{
"amount": 123,
"id": "<unknown>",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"pricing_service": {
"service_id": "5fd4371e940df5a34a3888b2",
"fallback_price": 123
},
"enabled": true,
"authentication_required": true
}
],
"steps": [
{
"type": "filter",
"outcome": "<string>",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"id": "1aacd0",
"description": "<string>",
"notes": "<string>",
"reason": "<string>",
"enabled": true
}
],
"id": "5fd4371e940df5a34a3888b2",
"errors": {},
"caps": [
{
"id": "5fd438f91f0d12766e2bfee5",
"type": "volume",
"name": "Monthly leads from TX",
"maximum": 1200,
"duration": 1,
"duration_units": "month",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"caps": "<array>",
"time_zone": "America/New_York",
"reason": "<string>",
"created_at": "2020-11-23T11:41:52Z"
}
],
"acceptance_criteria": {
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
},
"outcome": "failure",
"reason": "Lead must live in TX"
},
"pricing": {
"override": true,
"prices": [
{
"amount": 123,
"id": "<unknown>",
"rule_set": {
"op": "and",
"rules": [
{
"lhv": "lead.state",
"op": "is equal to",
"rhv": "TX",
"id": "1aacd0",
"rule_set": "<unknown>"
}
],
"id": "0d144a"
}
}
]
},
"list_checks": {
"duplicate": {
"value": "{{lead.phone}}",
"list_name": "duplicates",
"lookback": {
"value": 7,
"interval": "day"
}
},
"existing_customer": {
"value": "{{lead.email}}",
"list_name": "customer_emails",
"lookback": null
},
"dnc": {
"value": "{{lead.phone}}",
"list_name": "do_not_call",
"lookback": null
}
},
"destinations": [
{
"name": "Salesforce",
"integration_name": "<string>",
"integration_icon_url": "<string>",
"instance_id": "<string>",
"actions": [
{
"name": "Add Lead",
"action_id": "Add Lead",
"webhook_url": "<string>"
}
],
"flow_usages": {
"count": 123,
"flows": [
{
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>"
}
]
}
}
],
"ping_enabled": false,
"ping_limits": [
{
"id": "5fd4371e940df5a34a3888b2",
"name": "<string>",
"maximum": 123,
"duration": 123,
"duration_units": "<string>",
"time_zone": "America/New_York",
"created_at": "2023-11-07T05:31:56Z"
}
],
"pricing_service": {
"service_id": "5fd4371e940df5a34a3888b2",
"fallback_price": 123
},
"firehose": {
"enabled": true,
"credential_id": "5fd4371e940df5a34a3888b2",
"bucket": "<string>",
"prefix": "<string>",
"services": {
"aws": {
"enabled": true,
"credential_id": "5fd4371e940df5a34a3888b2",
"bucket": "<string>",
"prefix": "<string>"
},
"azure": {
"enabled": true,
"credential_id": "5fd4371e940df5a34a3888b2",
"bucket": "<string>",
"connection_string": "<string>",
"prefix": "<string>"
}
}
},
"level": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}
]{
"error": "not authorized"
}Authorizations
LeadConduit uses HTTP Basic Authentication
with the username API and your API key as the password.
For example: API:1f1b96c9150d8050e858c043d543bb4eadae0e6f'
Query Parameters
Optional. List of fields to include in the response. Mutually exclusive with 'exclude'.
Optional. List of fields to exclude from the response. Mutually exclusive with 'include'.
Response
OK
The name of the flow
1"Sales Leads"
Disabling a flow will prevent any processing of lead submissions. Submission will result in an error outcome.
true
The list of fields (IDs) representing the lead to be processed by this flow.
The required alphanumeric identifier of the field. Custom fields have an account-specific suffix (e.g. '_acme')
^[0-9a-fA-F]{24}$[
"first_name",
"last_name",
"email",
"phone_1",
"address_1",
"city",
"state",
"postal_code",
"trustedform_cert_url"
]
Flows accommodate multiple lead sources. Each source has:
- Entity reference - Identifies the submitting party
- Inbound mappings - Field name transformations specific to that source
- Authentication settings - Credentials and security requirements
- Acceptance Criteria - Source-specific rules that must pass in order to continue processing a lead
- Pricing configuration - Source-specific cost calculations
- Caps - Source-specific caps
Show child attributes
Show child attributes
After executing acceptance criteria, caps, and pricing, for the source and flow, steps are processed in order sequentially.
A filter step is used to stop processing a lead from advancing to the next flow step. This is conceptually similar to an email inbox filter. If the lead matches the rules then the flow is stopped, which effectively filters out the lead. When a filter step stops the flow, the source receives an immediate response and no further steps are processed.
- Filter Step
- Recipient Step
- Distribution Step
Show child attributes
Show child attributes
The unique identifier for a flow
^[0-9a-fA-F]{24}$"5fd4371e940df5a34a3888b2"
Errors preventing this flow from being saved
Caps on leads submitted into this flow from any source. These caps will be processed before caps set on a source.
1Show child attributes
Show child attributes
A submitted lead that fails an acceptance criteria rule will be rejected. Lead submission will result in a failure outcome.
Show child attributes
Show child attributes
This pricing configuration applies to all leads submitted to this flow. Pricing determines the value of
the purchase_price and cost property on the source event recorded when a lead is submitted.
Each price is evaluated and the last price for which all rules match will determine the amount used
for the purchase_price and cost. If none of these prices match for a particular lead, source pricing
will be evaluated. If no price matches, the price properties on the source event will be set to 0.
Show child attributes
Show child attributes
Check the lead against SuppressionList lists to see if it's a duplicate, and existing customer, or is on the do-not-call list.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
The configuration required on a Source or Flow to define a Pricing Service for lead pricing.
Show child attributes
Show child attributes
Firehose configuration for exporting event data to cloud storage. Supports a legacy flat format (AWS S3 only) and a service-based format that allows multiple cloud storage providers.
Show child attributes
Show child attributes
The level of the flow, e.g. 'minimal' for buyer accounts