This integration is powered by Singer's Bronto tap. For support, visit the GitHub repo or join the Singer Slack.
Bronto integration summary
Stitch’s Bronto integration replicates data using the Bronto SOAP API . Refer to the Schema section for a list of objects available for replication.
Bronto feature snapshot
A high-level look at Stitch's Bronto (v1) integration, including release status, useful links, and the features supported in Stitch.
STITCH | |||
Release status |
Released on June 27, 2018 |
Supported by | |
Stitch plan |
Standard |
API availability |
Available |
Singer GitHub repository | |||
REPLICATION SETTINGS | |||
Anchor Scheduling |
Supported |
Advanced Scheduling |
Supported |
Table-level reset |
Unsupported |
Configurable Replication Methods |
Unsupported |
DATA SELECTION | |||
Table selection |
Unsupported |
Column selection |
Unsupported |
Select all |
Unsupported |
||
TRANSPARENCY | |||
Extraction Logs |
Supported |
Loading Reports |
Supported |
Connecting Bronto
Bronto setup requirements
To set up Bronto in Stitch, you need:
-
Admin permissions in Bronto. This is required to create an API token.
Step 1: Create a Bronto API token
- Sign into your Bronto account.
- Navigate to Home > Settings.
- Click Data Exchange in the left side menu.
- Under SOAP API Tokens, click the Add Access Token button.
- In the API Token Name field, enter
Stitch
. This will allow you to easily identify what application is using the token. - Click the checkbox next to Read to allow read access for this token.
- Ensure that the checkbox next to Token is active? is checked, and click Save.
- The access token will appear on the page under the name
Stitch
once the modal closes. Copy this to be used in setting up the connection from within the Stitch application.
Step 2: Add Bronto as a Stitch data source
- Sign into your Stitch account.
-
On the Stitch Dashboard page, click the Add Integration button.
-
Click the Bronto icon.
-
Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.
For example, the name “Stitch Bronto” would create a schema called
stitch_bronto
in the destination. Note: Schema names cannot be changed after you save the integration. - In the Bronto API Token field, paste the access token you created in Step 1.
Step 3: Define the historical replication start date
The Sync Historical Data setting defines the starting date for your Bronto integration. This means that:
- For tables using Key-based Incremental Replication, data equal to or newer than this date will be replicated to your destination.
- For tables using Full Table Replication, all data - including records that are older, equal to, or newer than this date - will be replicated to your destination.
Change this setting if you want to replicate data beyond Bronto’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.
Step 4: Create a replication schedule
In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.
Bronto integrations support the following replication scheduling methods:
-
Advanced Scheduling using Cron (Advanced or Premium plans only)
To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.
Initial and historical replication jobs
After you finish setting up Bronto, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.
For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.
Initial replication jobs with Anchor Scheduling
If using Anchor Scheduling, an initial replication job may not kick off immediately. This depends on the selected Replication Frequency and Anchor Time. Refer to the Anchor Scheduling documentation for more information.
Free historical data loads
The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.
Bronto table reference
Schemas and versioning
Schemas and naming conventions can change from version to version, so we recommend verifying your integration’s version before continuing.
The schema and info displayed below is for version 1 of this integration.
This is the latest version of the Bronto integration.
Table and column names in your destination
Depending on your destination, table and column names may not appear as they are outlined below.
For example: Object names are lowercased in Redshift (CusTomERs
> customers
), while case is maintained in PostgreSQL destinations (CusTomERs
> CusTomERs
). Refer to the Loading Guide for your destination for more info.
contact
Replication Method : |
Key-based Incremental |
Replication Key |
modified |
Primary Key |
id |
API endpoint : |
The contacts
table contains information about your contacts. A contact describes an individual email address and/or SMS number in Bronto, along with associated statistics and field data that you have provided.
id
The unique ID for the contact. The id can be used to reference a specific contact when using the contact functions. Reference: |
|
modified
The last time information about the contact was modified. This timestamp is immutable and cannot be changed. |
|
msgPref
The message preference for the contact. A contact can have a message preference of text or html. |
|
primaryEmailClient
The primary email client (Microsoft Outlook, Mozilla Thunderbird, Apple Mail, etc.) used by a contact. |
|
source
The source or where the contact came from. The source can |
|
numConversions
The total number of conversions made by the contact. |
|
numClicks
The total number of times deliveries were clicked by the contact. If a link is clicked multiple times, each click is included in this metric. |
|
customSource
A source you define that states where the contact came from. |
|
totalOrders
The total number of orders recorded for a contact. |
|
geoIPZip
The zip code recorded for the contact based on their last known non-mobile IP addresses. |
|
lastClickDate
The last date a click was recorded for the contact. |
|
totalRevenue
The total amount of revenue recorded for a contact. |
|
SMSKeywordIDs
The IDs of the SMS keywords the contact is subscribed to.
|
|
lastOpenDate
The last date an open was recorded for the contact. |
|
created
The date the contact was created. This timestamp is immutable and cannot be changed |
|
numBounces
The total number of times deliveries sent to the contact resulted in a bounce. |
|
lastOrderTotal
The total amount of revenue recorded for the most recent order. |
|
deleted
Set to true if the contact has been deleted. |
|
email
The email address assigned to the contact. The email address can be used to reference a specific contact when using the contact functions. |
|
operatingSystem
The operating system (MacOSX, WinXP, Win7, Android, iOS etc.) used by a contact. |
|
conversionAmount
The sum/total amount of conversions made by the contact. |
|
lastDeliveryDate
The last date a delivery was made to the contact. |
|
averageOrderValue
The average amount of revenue per order recorded for a contact. |
|
mobileBrowser
The mobile browser (Safari mobile, Firefox mobile, Chrome mobile) used by a contact. |
|
primaryBrowser
The primary browser (Firefox, Chrome, Safari, etc.) used by a contact. |
|
firstOrderDate
The date of the first order recorded for a contact. |
|
status
The status of the contact. Valid statuses are: active, onboarding, transactional, bounce, unconfirmed, unsub |
|
geoIPCity
The city recorded for the contact based on their last known non-mobile IP addresses. |
|
numSends
The total number of deliveries sent to the contact. |
|
lastOrderDate
The date of the last order recorded for a contact. |
|
numOpens
The total number of times deliveries were opened by the contact. This metric includes multiple opens of the same delivery. |
|
geoIPCountryCode
The country code recorded for the contact based on their last known non-mobile IP addresses. |
|
mobileEmailClient
The mobile email client (Gmail mobile, Yahoo Mail for mobile, etc.) used by a contact. |
|
geoIPStateRegion
The state/region recorded for the contact based on their last known non-mobile IP addresses. |
|
mobileNumber
The mobile number stored for the contact. A valid country code must be included when adding or updating a mobile number for a contact. |
|
listIds
The IDs of the lists that the contact belongs to.
|
|
geoIPCountry
The country recorded for the contact based on their last known non-mobile IP addresses. |
inbound_activity
Replication Method : |
Key-based Incremental |
Replication Key |
createdDate |
Primary Key |
id |
API endpoint : |
The inbound_activity
object contains activity info regarding contacts, messages, and deliveries.
id
The activity ID. |
createdDate
The date the activity was recorded. |
skipReason
The detailed reason why the contact was skipped when attempting to send to them. The |
deliveryId
The ID assigned to the delivery associated with the activity. Reference: |
deliveryType
The type of delivery associated with the activity. Possible values are:
|
workflowName
The name of the workflow associated with the activity. The |
listName
The name of the list associated with the activity. The |
messageName
The name of the message associated with the activity. The |
emailAddress
The email address of the contact associated with the activity. The |
orderId
The ID assigned to the order. The Reference: |
webformAction
The activity performed on the webform. Valid values are: |
webformName
The name of the webform used. The |
listId
The ID assigned to the list that the delivery associated with the activity was sent to. Reference: |
socialNetwork
The social network the activity was performed on. The The valid networks are: |
unsubscribeMethod
The method used by the contact to unsubscribe. The Possible values are:
|
linkName
The name of the link that was clicked. The |
segmentId
The ID assigned to the segment that the delivery associated with the activity was sent to. Reference: |
deliveryStart
The date/time the delivery associated with the activity was scheduled. The |
contactId
The ID assigned to the contact associated with the activity. Reference: |
listLabel
The label assigned to the list associated with the activity. The label is the external (customer facing) name given to a list. The |
socialActivity
The activity performed. The valid activities are: |
automatorName
The name of the automator associated with the activity. |
webformId
The unique ID for a webform. |
bounceReason
The detailed reason why the bounce occurred. The |
messageId
The ID assigned to the message associated with the activity. Reference: |
workflowId
The ID assigned to the workflow that sent the delivery associated with the activity. Reference: |
smsKeywordName
The name of the SMS keyword associated with the activity. The |
keywordId
The ID assigned to the SMS keyword that the SMS delivery associated with the activity was sent to. Reference: |
activityType
The type of activity the object represents. For outbound activities, this can be |
contactStatus
The status of the contact associated with the activity. Possible values are:
|
bounceType
The type of bounce recorded. The The following types can be returned: Hard bounces:
Soft bounces:
|
ftafEmails
The emails that were used in the Forward To A Friend Delivery. The |
mobileNumber
The mobile number of the contact associated with the activity. The |
linkUrl
The URL of the link that was clicked. The |
segmentName
The name of the segment associated with the activity. The |
Replication Method : |
Full Table |
Primary Key |
id |
API endpoint : |
The lists
table contains info about the contact lists in your Bronto account.
id
The unique id assigned to the list. Reference: |
label
The external (customer facing) name of the list. |
status
The status of the list. Possible values are:
|
activeCount
The number of active contacts of currently on the list. |
name
The internal name of the list. |
outbound_activity
Replication Method : |
Key-based Incremental |
Replication Key |
createdDate |
Primary Key |
id |
Official docs : |
The outbound_activity
table contains activity info regarding contacts, messages, and deliveries.
id
The outbound activity ID. |
createdDate
The date the activity was recorded. |
skipReason
The detailed reason why the contact was skipped when attempting to send to them. The |
deliveryId
The ID assigned to the delivery associated with the activity. Reference: |
deliveryType
The type of delivery associated with the activity. Possible values are:
|
workflowName
The name of the workflow associated with the activity. The |
listName
The name of the list associated with the activity. The |
messageName
The name of the message associated with the activity. The |
emailAddress
The email address of the contact associated with the activity. The |
orderId
The ID assigned to the order. The Reference: |
webformAction
The activity performed on the webform. Valid values are: |
webformName
The name of the webform used. The |
listId
The ID assigned to the list that the delivery associated with the activity was sent to. Reference: |
socialNetwork
The social network the activity was performed on. The The valid networks are: |
unsubscribeMethod
The method used by the contact to unsubscribe. The Possible values are:
|
linkName
The name of the link that was clicked. The |
segmentId
The ID assigned to the segment that the delivery associated with the activity was sent to. Reference: |
deliveryStart
The date/time the delivery associated with the activity was scheduled. The |
contactId
The ID assigned to the contact associated with the activity. Reference: |
listLabel
The label assigned to the list associated with the activity. The label is the external (customer facing) name given to a list. The |
socialActivity
The activity performed. The valid activities are: |
automatorName
The name of the automator associated with the activity. |
webformId
The unique ID for a webform. |
bounceReason
The detailed reason why the bounce occurred. The |
messageId
The ID assigned to the message associated with the activity. Reference: |
workflowId
The ID assigned to the workflow that sent the delivery associated with the activity. Reference: |
smsKeywordName
The name of the SMS keyword associated with the activity. The |
keywordId
The ID assigned to the SMS keyword that the SMS delivery associated with the activity was sent to. Reference: |
activityType
The type of activity the object represents. For outbound activities, this can be |
contactStatus
The status of the contact associated with the activity. Possible values are:
|
bounceType
The type of bounce recorded. The The following types can be returned: Hard bounces:
Soft bounces:
|
ftafEmails
The emails that were used in the Forward To A Friend Delivery. The |
mobileNumber
The mobile number of the contact associated with the activity. The |
linkUrl
The URL of the link that was clicked. The |
segmentName
The name of the segment associated with the activity. The |
unsubscribe
Replication Method : |
Key-based Incremental |
Replication Key |
created |
Primary Key |
contactId : deliveryId : created |
API endpoint : |
The unsubscribe
table contains info about unsubscribe events. Contacts may be unsubscribed by you, or they can unsubscribe themselves via an Unsubscribe or Manage Preferences Webform.
contactId
The unique ID of the contact associated with the unsubscribe. Reference: |
deliveryId
The unique ID of the delivery that resulted in the contact unsubscribing. Reference: |
created
The time the unsubscribe event was created. |
method
The method used by the contact to unsubscribe. Possible values are:
|
complaint
Optional additional information about the unsubscribe. |
Related | Troubleshooting |
Questions? Feedback?
Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.