Flows

Flows define the complete processing pipeline for lead submissions, from data ingestion through delivery. Each flow creates a configurable handler that processes leads through a series of middleware steps in strict sequence.

Destination

An internal representation of a Prismatic instance.

name
string

A customizable name of the destination.

integration_name
string

The name of the integration as published in the Marketplace.

integration_icon_url
string

Pre-signed URL for the integration icon.

instance_id
string

The Prismatic instance ID.

Array of objects

A list of actions available in the configured instance. These map to Prismatic "flows" within an instance.

object

Contains data on flows in which the destination is used. This field is optional and is only included when the include=flow_usages query parameter is included in the request.

{
  • "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": 0,
    • "flows": [
      • {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string"
        }
      ]
    }
}

Flow

id
string (FlowID) ^[0-9a-fA-F]{24}$

24 character alpha-numeric BSON identifier

name
required
string non-empty

The name of the flow

errors
object

Errors preventing this flow from being saved

enabled
required
boolean

Disabling a flow will prevent any processing of lead submissions. Submission will result in an error outcome.

fields
required
Array of strings (FieldID)

The list of fields (IDs) representing the lead to be processed by this flow.

null or Array of objects (Caps)
object (acceptance-criteria)

A submitted lead that fails an acceptance criteria rule will be rejected. Lead submission will result in a failure outcome.

object (Pricing)

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.

object (ListChecks)

Check the lead against SuppressionList lists to see if it's a duplicate, and existing customer, or is on the do-not-call list.

Array of objects (Destination)
required
Array of objects (Source)

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
required
Array of objects (Step)

After executing acceptance criteria, caps, and pricing, for the source and flow, steps are processed in order sequentially.

ping_enabled
boolean
Default: false
Array of objects (PingLimits)
object (PricingServiceConfiguration)

The configuration required on a Source or Flow to define a Pricing Service for lead pricing.

object (Firehose)

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.

level
string

The level of the flow, e.g. 'minimal' for buyer accounts

created_at
string <date-time> (Timestamp)
updated_at
string <date-time> (Timestamp)
{
  • "id": "5fd4371e940df5a34a3888b2",
  • "name": "Sales Leads",
  • "errors": { },
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "id": "5fd4371e940df5a34a3888b2",
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "id": "1aacd0",
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "id": "1aacd0",
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string",
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "id": "1aacd0",
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "credential_id": "string",
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "service_id": "string",
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "id": "1aacd0",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "id": "1aacd0",
        • "op": "and",
        • "rules": [
          • {
            • "id": "1aacd0",
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "id": "5fd4371e940df5a34a3888b2",
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "credential_id": "string",
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "level": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Meta

enabled
required
boolean
required
object
required
object
required
object
object
object (acceptance-criteria)

A submitted lead that fails an acceptance criteria rule will be rejected. Lead submission will result in a failure outcome.

object
required
Array of objects
null or object
object (PricingServiceConfiguration)

The configuration required on a Source or Flow to define a Pricing Service for lead pricing.

null or object
object (PricingServiceConfiguration)

The configuration required on a Source or Flow to define a Pricing Service for lead pricing.

pingable
required
boolean
ping_enabled
required
boolean
updated_at
required
string <date-time>
authorized_account
required
boolean
{
  • "enabled": true,
  • "account": {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "ActiveProspect, Inc."
    },
  • "flow": {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "string"
    },
  • "source": {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "string",
    • "authentication_required": false
    },
  • "hours_of_operation": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "flow_acceptance_criteria": { },
  • "params": [
    • {
      • "name": "first_name",
      • "label": "First Name",
      • "description": "First name",
      • "type": "first_name",
      • "variable": "first_name",
      • "examples": [
        • "Mike",
        • "Robert",
        • "Janet"
        ],
      • "required": "no"
      }
    ],
  • "flow_pricing": null,
  • "flow_pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "source_pricing": null,
  • "source_pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "pingable": true,
  • "ping_enabled": false,
  • "updated_at": "2025-03-20T15:06:01.777Z",
  • "authorized_account": true
}

Flow Processing Architecture

Lead Submission Process

When a lead is submitted to a flow's source endpoint, it passes through a predetermined middleware chain organized into distinct phases:

Setup:

  1. Lead submission - Request received
  2. Authentication - Verify source credentials and permissions

Inbound Request Processing:

  1. Inbound integration - Execute source-specific request handling
  2. Data hygiene - Clean and validate field names and values
  3. Inbound mapping - Transform source field names to flow field names
  4. Lead object creation - Parse data using configured field types

Inbound Validation:

  1. Suppression list checks - Verify against do-not-contact lists
  2. Pricing calculation - Apply source and flow pricing rules
  3. Caps validation - Check submission limits
  4. Acceptance criteria - Evaluate business rules for lead acceptance

Steps Execution:

  1. Step processing - Execute configured filter and recipient steps sequentially
  2. Revenue calculation - Calculate final pricing and revenue
  3. Inbound integration - Execute source-specific response
  4. Respond - Return the integration response to source

Multi-Source Configuration

Flows accommodate multiple data sources through the sources array. Each source has:

  • Entity reference - Identifies the submitting party
  • Inbound mappings - Field name transformations specific to that source
  • Authentication settings - Credentials and security requirements
  • Pricing configuration - Source-specific cost calculations

Step-Based Processing

The steps array defines sequential processing after lead acceptance. Steps are combined with any configured destinations and executed in order.

Step Types:

  • Filter steps - Apply business logic, data enhancement, routing decisions, or flow control
  • Recipient steps - Deliver leads to external systems (CRMs, buyers, etc.)

Step Execution Details:

  • Steps execute sequentially, one at a time
  • Each step can access and modify the lead data
  • Disabled steps (enabled: false) are skipped but counted
  • Filter steps can terminate the entire flow early using rules
  • Each step generates an event record with timing and outcome data
  • Step failures don't stop subsequent steps unless the step explicitly exits the flow
  • The lead object accumulates data from all steps, making enhanced data available to later steps

Recipient Step Processing Pipeline: Recipient steps mirror the inbound validation structure but in reverse - transforming data for outbound delivery:

  1. Integration lookup - Load the outbound integration module
  2. Rules evaluation - Check if step should execute (skip if rules fail)
  3. Outbound mapping - Transform lead data for recipient requirements
  4. Type parsing - Convert data to integration's expected types
  5. Integration validation - Verify prerequisites are met
  6. Caps checking - Apply step-level volume limits
  7. HTTP request execution - Send data to external system
  8. Response processing - Parse integration response
  9. Data appending - Add response data back to lead object
  10. Event recording - Save step execution details and outcome

Step Configuration:

  • Entity reference - Defines which integration module to use
  • Mappings - Transform lead data for the specific recipient
  • Rules - Conditional logic determining when the step executes
  • Enabled flag - Allows steps to be temporarily disabled

Configuration Components

Flows are composed of:

  • Fields array - Defines expected data schema and types
  • Sources array - Configures data input endpoints
  • Steps array - Defines post-acceptance processing
  • Acceptance criteria - Rules determining lead purchase decisions
  • Pricing configuration - Cost calculation logic
  • Caps - Volume and rate limiting controls

List all destinations configured for the account

The /destinations resource is used to query destinations which have been configured in the LeadConduit app. If no destinations are configured for your account, this resource will return an empty array. Destinations returned from this endpoint can be added to flows.

SecurityAPIKey
Request
query Parameters
include
string

Additional properties to include in the response.

Value: "flow_usages"
Responses
200

OK

401

Authorization information is missing or invalid.

get/destinations
Request samples
Response samples
application/json
[
  • {
    • "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": 0,
      • "flows": [
        • {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string"
          }
        ]
      }
    }
]

List all flows

Returns all the flows associated to an account

SecurityAPIKey
Request
query Parameters
include
Array of strings

Optional. List of fields to include in the response. Mutually exclusive with 'exclude'.

exclude
Array of strings

Optional. List of fields to exclude from the response. Mutually exclusive with 'include'.

Responses
200

OK

401

Authorization information is missing or invalid.

get/flows
Request samples
Response samples
application/json
[
  • {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "Sales Leads",
    • "errors": { },
    • "enabled": true,
    • "fields": [
      • "first_name",
      • "last_name",
      • "email",
      • "phone_1",
      • "address_1",
      • "city",
      • "state",
      • "postal_code",
      • "trustedform_cert_url"
      ],
    • "caps": { },
    • "acceptance_criteria": {
      • "rule_set": {
        • "id": "1aacd0",
        • "op": "and",
        • "rules": [
          • {
            • "id": "1aacd0",
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "outcome": "failure",
      • "reason": "string"
      },
    • "pricing": {
      • "override": true,
      • "prices": [
        • {
          • "id": { },
          • "amount": 0,
          • "rule_set": {
            • "id": "1aacd0",
            • "op": "and",
            • "rules": [
              • {
                • "id": null,
                • "lhv": null,
                • "op": null,
                • "rhv": null,
                • "rule_set": null
                }
              ]
            }
          }
        ]
      },
    • "list_checks": {
      • "duplicate": {
        • "value": "string",
        • "list_name": "string",
        • "lookback": { }
        },
      • "existing_customer": {
        • "value": "string",
        • "list_name": "string",
        • "lookback": { }
        },
      • "dnc": {
        • "value": "string",
        • "list_name": "string",
        • "lookback": { }
        }
      },
    • "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": 0,
          • "flows": [
            • {
              • "id": "5fd4371e940df5a34a3888b2",
              • "name": "string"
              }
            ]
          }
        }
      ],
    • "sources": [
      • {
        • "id": "1aacd0",
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "id": "1aacd0",
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          },
        • "entity": {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string",
          • "time_zone": "America/New_York"
          },
        • "acceptance_criteria": {
          • "rule_set": {
            • "id": "1aacd0",
            • "op": "and",
            • "rules": [
              • {
                • "id": null,
                • "lhv": null,
                • "op": null,
                • "rhv": null,
                • "rule_set": null
                }
              ]
            },
          • "outcome": "failure",
          • "reason": "string"
          },
        • "feedback": {
          • "rule_set": {
            • "id": "1aacd0",
            • "op": "and",
            • "rules": [
              • {
                • "id": null,
                • "lhv": null,
                • "op": null,
                • "rhv": null,
                • "rule_set": null
                }
              ]
            },
          • "integration": {
            • "module_id": "leadconduit-salesforce.outbound.create_contact",
            • "mappings": [
              • {
                • "id": null,
                • "property": null,
                • "value": null,
                • "rule_set": null
                }
              ]
            }
          },
        • "caps": { },
        • "ping_limits": [
          • {
            • "id": "5fd4371e940df5a34a3888b2",
            • "name": "string",
            • "maximum": 0,
            • "duration": 0,
            • "duration_units": "string",
            • "time_zone": "America/New_York",
            • "created_at": "2019-08-24T14:15:22Z"
            }
          ],
        • "credential_id": "string",
        • "pricing": {
          • "override": true,
          • "prices": [
            • {
              • "id": { },
              • "amount": 0,
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          },
        • "pricing_service": {
          • "service_id": "string",
          • "fallback_price": 0
          },
        • "enabled": true,
        • "authentication_required": true
        }
      ],
    • "steps": [
      • {
        • "type": "filter",
        • "id": "1aacd0",
        • "description": "string",
        • "notes": "string",
        • "reason": "string",
        • "outcome": "string",
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "enabled": true
        }
      ],
    • "ping_enabled": false,
    • "ping_limits": [
      • {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string",
        • "maximum": 0,
        • "duration": 0,
        • "duration_units": "string",
        • "time_zone": "America/New_York",
        • "created_at": "2019-08-24T14:15:22Z"
        }
      ],
    • "pricing_service": {
      • "service_id": "string",
      • "fallback_price": 0
      },
    • "firehose": {
      • "enabled": true,
      • "credential_id": "string",
      • "bucket": "string",
      • "prefix": "string",
      • "services": {
        • "aws": {
          • "enabled": true,
          • "credential_id": "string",
          • "bucket": "string",
          • "prefix": "string"
          },
        • "azure": {
          • "enabled": true,
          • "credential_id": "string",
          • "bucket": "string",
          • "connection_string": "string",
          • "prefix": "string"
          }
        }
      },
    • "level": "string",
    • "created_at": "2019-08-24T14:15:22Z",
    • "updated_at": "2019-08-24T14:15:22Z"
    }
]

Create a new flow

Create a new flow, adding it to the list of all flows in the account. The caller may specify an ID for a flow, provided it is a valid BSON ID

SecurityAPIKey
Request
Request Body schema: application/json
required

Create a new flow

name
required
string non-empty

The name of the flow

enabled
required
boolean

Disabling a flow will prevent any processing of lead submissions. Submission will result in an error outcome.

fields
required
Array of strings (FieldID)

The list of fields (IDs) representing the lead to be processed by this flow.

null or Array of objects (Caps)
object (acceptance-criteria)

A submitted lead that fails an acceptance criteria rule will be rejected. Lead submission will result in a failure outcome.

object (Pricing)

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.

object (ListChecks)

Check the lead against SuppressionList lists to see if it's a duplicate, and existing customer, or is on the do-not-call list.

Array of objects (Destination)
required
Array of objects (Source)

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
required
Array of objects (Step)

After executing acceptance criteria, caps, and pricing, for the source and flow, steps are processed in order sequentially.

ping_enabled
boolean
Default: false
Array of objects (PingLimits)
object (PricingServiceConfiguration)

The configuration required on a Source or Flow to define a Pricing Service for lead pricing.

object (Firehose)

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.

Responses
201

Created

post/flows
Request samples
application/json
{
  • "name": "Sales Leads",
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "op": "and",
      • "rules": [
        • {
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "op": "and",
          • "rules": [
            • {
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "op": "and",
          • "rules": [
            • {
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "op": "and",
          • "rules": [
            • {
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "op": "and",
        • "rules": [
          • {
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "id": "5fd4371e940df5a34a3888b2",
  • "name": "Sales Leads",
  • "errors": { },
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "id": "5fd4371e940df5a34a3888b2",
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "id": "1aacd0",
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "id": "1aacd0",
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string",
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "id": "1aacd0",
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "credential_id": "string",
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "service_id": "string",
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "id": "1aacd0",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "id": "1aacd0",
        • "op": "and",
        • "rules": [
          • {
            • "id": "1aacd0",
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "id": "5fd4371e940df5a34a3888b2",
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "credential_id": "string",
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "level": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update all flows

Update all flows for an account. Only users with superuser access can run this.

SecurityAPIKey
Responses
200

OK

put/flows
Request samples

Get a flow

Returns the flow associated to the ID

SecurityAPIKey
Request
path Parameters
id
required
string (ID) ^[0-9a-fA-F]{24}$

ID of the flow to get

Example: 5fd4371e940df5a34a3888b2
Responses
200

OK

get/flows/{id}
Request samples
Response samples
application/json
{
  • "id": "5fd4371e940df5a34a3888b2",
  • "name": "Sales Leads",
  • "errors": { },
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "id": "5fd4371e940df5a34a3888b2",
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "id": "1aacd0",
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "id": "1aacd0",
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string",
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "id": "1aacd0",
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "credential_id": "string",
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "service_id": "string",
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "id": "1aacd0",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "id": "1aacd0",
        • "op": "and",
        • "rules": [
          • {
            • "id": "1aacd0",
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "id": "5fd4371e940df5a34a3888b2",
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "credential_id": "string",
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "level": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update an existing flow

Update an existing Flow

SecurityAPIKey
Request
path Parameters
id
required
string (ID) ^[0-9a-fA-F]{24}$

ID of the flow to update

Example: 5fd4371e940df5a34a3888b2
Request Body schema: application/json
required

Update a flow

name
required
string non-empty

The name of the flow

enabled
required
boolean

Disabling a flow will prevent any processing of lead submissions. Submission will result in an error outcome.

fields
required
Array of strings (FieldID)

The list of fields (IDs) representing the lead to be processed by this flow.

null or Array of objects (Caps)
object (acceptance-criteria)

A submitted lead that fails an acceptance criteria rule will be rejected. Lead submission will result in a failure outcome.

object (Pricing)

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.

object (ListChecks)

Check the lead against SuppressionList lists to see if it's a duplicate, and existing customer, or is on the do-not-call list.

Array of objects (Destination)
required
Array of objects (Source)

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
required
Array of objects (Step)

After executing acceptance criteria, caps, and pricing, for the source and flow, steps are processed in order sequentially.

ping_enabled
boolean
Default: false
Array of objects (PingLimits)
object (PricingServiceConfiguration)

The configuration required on a Source or Flow to define a Pricing Service for lead pricing.

object (Firehose)

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.

Responses
200

OK

put/flows/{id}
Request samples
application/json
{
  • "name": "Sales Leads",
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "op": "and",
      • "rules": [
        • {
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "op": "and",
          • "rules": [
            • {
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "op": "and",
          • "rules": [
            • {
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "op": "and",
          • "rules": [
            • {
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "op": "and",
        • "rules": [
          • {
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}
Response samples
application/json
{
  • "id": "5fd4371e940df5a34a3888b2",
  • "name": "Sales Leads",
  • "errors": { },
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "id": "5fd4371e940df5a34a3888b2",
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "id": "1aacd0",
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "id": "1aacd0",
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string",
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "id": "1aacd0",
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "credential_id": "string",
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "service_id": "string",
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "id": "1aacd0",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "id": "1aacd0",
        • "op": "and",
        • "rules": [
          • {
            • "id": "1aacd0",
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "id": "5fd4371e940df5a34a3888b2",
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "credential_id": "string",
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "level": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Delete an existing flow

Once a flow is deleted it will no longer accept leads. Attempting to submit leads to a deleted flow will result in an HTTP 404. Returns the flow as it existed at the time of deletion.

SecurityAPIKey
Request
path Parameters
id
required
string (ID) ^[0-9a-fA-F]{24}$

ID of the flow to delete

Example: 5fd4371e940df5a34a3888b2
Responses
200

OK

delete/flows/{id}
Request samples
Response samples
application/json
{
  • "id": "5fd4371e940df5a34a3888b2",
  • "name": "Sales Leads",
  • "errors": { },
  • "enabled": true,
  • "fields": [
    • "first_name",
    • "last_name",
    • "email",
    • "phone_1",
    • "address_1",
    • "city",
    • "state",
    • "postal_code",
    • "trustedform_cert_url"
    ],
  • "caps": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "pricing": {
    • "override": true,
    • "prices": [
      • {
        • "id": { },
        • "amount": 0,
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          }
        }
      ]
    },
  • "list_checks": {
    • "duplicate": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "existing_customer": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      },
    • "dnc": {
      • "value": "string",
      • "list_name": "string",
      • "lookback": { }
      }
    },
  • "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": 0,
        • "flows": [
          • {
            • "id": "5fd4371e940df5a34a3888b2",
            • "name": "string"
            }
          ]
        }
      }
    ],
  • "sources": [
    • {
      • "id": "1aacd0",
      • "integration": {
        • "module_id": "leadconduit-salesforce.outbound.create_contact",
        • "mappings": [
          • {
            • "id": "1aacd0",
            • "property": "string",
            • "value": "string",
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "entity": {
        • "id": "5fd4371e940df5a34a3888b2",
        • "name": "string",
        • "time_zone": "America/New_York"
        },
      • "acceptance_criteria": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "outcome": "failure",
        • "reason": "string"
        },
      • "feedback": {
        • "rule_set": {
          • "id": "1aacd0",
          • "op": "and",
          • "rules": [
            • {
              • "id": "1aacd0",
              • "lhv": "lead.state",
              • "op": "is equal to",
              • "rhv": "TX",
              • "rule_set": { }
              }
            ]
          },
        • "integration": {
          • "module_id": "leadconduit-salesforce.outbound.create_contact",
          • "mappings": [
            • {
              • "id": "1aacd0",
              • "property": "string",
              • "value": "string",
              • "rule_set": {
                • "id": null,
                • "op": null,
                • "rules": [ ]
                }
              }
            ]
          }
        },
      • "caps": { },
      • "ping_limits": [
        • {
          • "id": "5fd4371e940df5a34a3888b2",
          • "name": "string",
          • "maximum": 0,
          • "duration": 0,
          • "duration_units": "string",
          • "time_zone": "America/New_York",
          • "created_at": "2019-08-24T14:15:22Z"
          }
        ],
      • "credential_id": "string",
      • "pricing": {
        • "override": true,
        • "prices": [
          • {
            • "id": { },
            • "amount": 0,
            • "rule_set": {
              • "id": "1aacd0",
              • "op": "and",
              • "rules": [
                • null
                ]
              }
            }
          ]
        },
      • "pricing_service": {
        • "service_id": "string",
        • "fallback_price": 0
        },
      • "enabled": true,
      • "authentication_required": true
      }
    ],
  • "steps": [
    • {
      • "type": "filter",
      • "id": "1aacd0",
      • "description": "string",
      • "notes": "string",
      • "reason": "string",
      • "outcome": "string",
      • "rule_set": {
        • "id": "1aacd0",
        • "op": "and",
        • "rules": [
          • {
            • "id": "1aacd0",
            • "lhv": "lead.state",
            • "op": "is equal to",
            • "rhv": "TX",
            • "rule_set": { }
            }
          ]
        },
      • "enabled": true
      }
    ],
  • "ping_enabled": false,
  • "ping_limits": [
    • {
      • "id": "5fd4371e940df5a34a3888b2",
      • "name": "string",
      • "maximum": 0,
      • "duration": 0,
      • "duration_units": "string",
      • "time_zone": "America/New_York",
      • "created_at": "2019-08-24T14:15:22Z"
      }
    ],
  • "pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "firehose": {
    • "enabled": true,
    • "credential_id": "string",
    • "bucket": "string",
    • "prefix": "string",
    • "services": {
      • "aws": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "prefix": "string"
        },
      • "azure": {
        • "enabled": true,
        • "credential_id": "string",
        • "bucket": "string",
        • "connection_string": "string",
        • "prefix": "string"
        }
      }
    },
  • "level": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Deploy a saved flow to production

A flow defines how lead submissions will be handled. In order to make a flow's latest state active for lead handling, it must be deployed. Because changes to a flow can be made without deploying them, you are free make flow updates without affecting current lead handling. Put another way, a deployment must be performed after it is created or updated in order for lead handling to start using the new configuration.

SecurityAPIKey
Request
path Parameters
id
required
string (ID) ^[0-9a-fA-F]{24}$

ID of the flow to deploy

Example: 5fd4371e940df5a34a3888b2
Responses
200

OK

post/flows/{id}/deploy
Request samples
Response samples
application/json
{
  • "message": "Your flow was deployed and the most recent changes are now live"
}

List fields associated to the Flow

List fields associated to the Flow

SecurityAPIKey
Request
path Parameters
id
required
string (ID) ^[0-9a-fA-F]{24}$

ID of the flow schema

Example: 5fd4371e940df5a34a3888b2
Responses
200

OK

get/flows/{id}/fields
Request samples
Response samples
application/json
[
  • {
    • "id": "first_name",
    • "name": "First Name",
    • "type": "boolean",
    • "description": "string",
    • "standard": true,
    • "aggregate": true,
    • "deprecated": true,
    • "see": "first_name",
    • "created_at": "2019-08-24T14:15:22Z",
    • "updated_at": "2019-08-24T14:15:22Z"
    }
]

Get flow field usages

Count the number of leads processed by flow field. This tells you which and how much each flow field was used today. You can change the timeframe using the timeframe parameter (i.e. timeframe=previous_30_days), though this is discouraged because this query is fairly heavy.

SecurityAPIKey
Request
path Parameters
id
required
string (ID) ^[0-9a-fA-F]{24}$

ID of the flow

Example: 5fd4371e940df5a34a3888b2
query Parameters
timeframe
string
Responses
200

OK

get/flows/{id}/fields/usage
Request samples
Response samples
application/json
{
  • "property1": 0,
  • "property2": 0
}

Retrieve metadata for a specific source within a flow

Returns metadata about a source within a specified flow, including parameters, account details, and operational settings.

SecurityAPIKey
Request
path Parameters
flow_id
required
string

The ID of the flow

Example: 67dc2ec447ba19de15745945
source_id
required
string

The ID of the source within the flow

Example: 53a310fa9d29c9c72100006c
Responses
200

Successful response with source metadata

400

Bad request due to invalid flow_id or source_id

404

Flow or source not found

get/flows/{flow_id}/sources/{source_id}/meta
Request samples
Response samples
application/json
{
  • "enabled": true,
  • "account": {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "ActiveProspect, Inc."
    },
  • "flow": {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "string"
    },
  • "source": {
    • "id": "5fd4371e940df5a34a3888b2",
    • "name": "string",
    • "authentication_required": false
    },
  • "hours_of_operation": { },
  • "acceptance_criteria": {
    • "rule_set": {
      • "id": "1aacd0",
      • "op": "and",
      • "rules": [
        • {
          • "id": "1aacd0",
          • "lhv": "lead.state",
          • "op": "is equal to",
          • "rhv": "TX",
          • "rule_set": { }
          }
        ]
      },
    • "outcome": "failure",
    • "reason": "string"
    },
  • "flow_acceptance_criteria": { },
  • "params": [
    • {
      • "name": "first_name",
      • "label": "First Name",
      • "description": "First name",
      • "type": "first_name",
      • "variable": "first_name",
      • "examples": [
        • "Mike",
        • "Robert",
        • "Janet"
        ],
      • "required": "no"
      }
    ],
  • "flow_pricing": null,
  • "flow_pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "source_pricing": null,
  • "source_pricing_service": {
    • "service_id": "string",
    • "fallback_price": 0
    },
  • "pingable": true,
  • "ping_enabled": false,
  • "updated_at": "2025-03-20T15:06:01.777Z",
  • "authorized_account": true
}

Submit data to a source within a flow

Submits JSON lead data to a specified source within a flow and returning a success response in JSON.

SecurityAPIKey
Request
path Parameters
flow_id
required
string (ID) ^[0-9a-fA-F]{24}$

The ID of the flow

Example: 5fd4371e940df5a34a3888b2
source_id
required
string (ID) ^[0-9a-fA-F]{24}$

The ID of the source within the flow

Example: 5fd4371e940df5a34a3888b2
Request Body schema: application/json
required

The JSON lead data to submit.

property name*
additional property
string

A dynamic set of key-value pairs representing lead data.

Responses
200

A list of metadata records for lead submissions.

400

Bad request due to invalid flow_id or source_id

404

Flow or source not found

post/flows/{flow_id}/sources/{source_id}/submit
Request samples
application/json
{
  • "email": "user@example.com",
  • "fname": "Example User"
}
Response samples
application/json
[
  • {
    • "request": {},
    • "response": {
      • "status": 201,
      • "headers": {
        • "Content-Type": "application/json",
        • "Content-Length": "72"
        },
      • "body": "{\"outcome\":\"success\",\"lead\":{\"id\":\"abc123\"},\"price\":0}"
      }
    }
]

Test a recipient step integration

Sends pre-mapped data directly to a recipient step's integration module and returns the outcome. This is a smoke test that bypasses normal flow processing (no inbound field mappings, no events, no acceptance criteria). The submitted data should be in the format the integration expects, as if it had already passed through field mappings. Gated behind the enable-distribution-step feature flag; returns 404 when the flag is off.

SecurityAPIKey
Request
path Parameters
flow_id
required
string (ID) ^[0-9a-fA-F]{24}$

The ID of the flow containing the step to test

Example: 5fd4371e940df5a34a3888b2
source_id
required
string (ID) ^[0-9a-fA-F]{24}$

The ID of the source within the flow

Example: 5fd4371e940df5a34a3888b2
Request Body schema: application/json
required

The step configuration and pre-mapped submission data to test with.

required
object

Configuration of the step to test

required
object

Pre-mapped lead data to send to the integration, in the format the integration expects

Responses
200

The integration execution result including outcome and HTTP transactions.

400

Bad request due to invalid flow_id or source_id

404

Feature flag is off (empty body), or flow/source not found. When the feature flag is off, the response has no body and no JSON content.

422

Validation error in request body or integration module not found

post/flows/{flow_id}/sources/{source_id}/test_step
Request samples
application/json
{
  • "step_config": {
    • "integration": {
      • "module_id": "leadconduit-salesforce.outbound.create_contact",
      • "mappings": [
        • {
          • "property": "string",
          • "value": "string",
          • "rule_set": {
            • "op": "and",
            • "rules": [
              • {
                • "id": null,
                • "lhv": null,
                • "op": null,
                • "rhv": null,
                • "rule_set": null
                }
              ]
            }
          }
        ]
      },
    • "acceptance_criteria": { },
    • "entity": {
      • "time_zone": "America/New_York"
      }
    },
  • "submission_data": {
    • "email": "user@example.com",
    • "first_name": "Jane",
    • "last_name": "Doe",
    • "phone_1": "5125551234"
    }
}
Response samples
application/json
{
  • "outcome": "success",
  • "reason": null,
  • "transactions": []
}