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 data equal to or newer than this date will be replicated to your data warehouse.
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
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.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
modified |
Useful links |
Join contact with | on |
---|---|
inbound_activity |
contact.id = inbound_activity.contactId |
outbound_activity |
contact.id = outbound_activity.contactId |
SMSKeywordIDs ARRAY
|
|
averageOrderValue NUMBER |
|
conversionAmount NUMBER |
|
created STRING |
|
customSource STRING |
|
deleted BOOLEAN |
|
STRING |
|
firstOrderDate STRING |
|
geoIPCity STRING |
|
geoIPCountry STRING |
|
geoIPCountryCode STRING |
|
geoIPStateRegion STRING |
|
geoIPZip STRING |
|
id STRING |
|
lastClickDate STRING |
|
lastDeliveryDate STRING |
|
lastOpenDate STRING |
|
lastOrderDate STRING |
|
lastOrderTotal NUMBER |
|
listIds ARRAY
|
|
mobileBrowser STRING |
|
mobileEmailClient STRING |
|
mobileNumber STRING |
|
modified DATE-TIME |
|
msgPref STRING |
|
numBounces NUMBER |
|
numClicks NUMBER |
|
numConversions NUMBER |
|
numOpens NUMBER |
|
numSends NUMBER |
|
operatingSystem STRING |
|
primaryBrowser STRING |
|
primaryEmailClient STRING |
|
source STRING |
|
status STRING |
|
totalOrders NUMBER |
|
totalRevenue NUMBER |
inbound_activity
The inbound_activity
object contains activity info regarding contacts, messages, and deliveries.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
createdDate |
Useful links |
Join inbound_activity with | on |
---|---|
contact |
inbound_activity.contactId = contact.id |
outbound_activity |
inbound_activity.contactId = outbound_activity.contactId inbound_activity.deliveryId = outbound_activity.deliveryId inbound_activity.listId = outbound_activity.listId inbound_activity.keywordId = outbound_activity.keywordId inbound_activity.messageId = outbound_activity.messageId inbound_activity.orderId = outbound_activity.orderId inbound_activity.segmentId = outbound_activity.segmentId inbound_activity.workflowId = outbound_activity.workflowId |
list |
inbound_activity.listId = list.id |
activityType STRING |
automatorName STRING |
bounceReason STRING |
bounceType STRING |
contactId STRING |
contactStatus STRING |
createdDate DATE-TIME |
deliveryId STRING |
deliveryStart STRING |
deliveryType STRING |
emailAddress STRING |
ftafEmails STRING |
id STRING |
keywordId STRING |
linkName STRING |
linkUrl STRING |
listId STRING |
listLabel STRING |
listName STRING |
messageId STRING |
messageName STRING |
mobileNumber STRING |
orderId STRING |
segmentId STRING |
segmentName STRING |
skipReason STRING |
smsKeywordName STRING |
socialActivity STRING |
socialNetwork STRING |
unsubscribeMethod STRING |
webformAction STRING |
webformId STRING |
webformName STRING |
workflowId STRING |
workflowName STRING |
list
The lists
table contains info about the contact lists in your Bronto account.
Full Table |
|
Primary Key |
id |
Useful links |
Join list with | on |
---|---|
inbound_activity |
list.id = inbound_activity.listId |
outbound_activity |
list.id = outbound_activity.listId |
activeCount INTEGER |
id STRING |
label STRING |
name STRING |
status STRING |
outbound_activity
The outbound_activity
table contains activity info regarding contacts, messages, and deliveries.
Key-based Incremental |
|
Primary Key |
id |
Replication Key |
createdDate |
Useful links |
Join outbound_activity with | on |
---|---|
contact |
outbound_activity.contactId = contact.id |
inbound_activity |
outbound_activity.contactId = inbound_activity.contactId outbound_activity.deliveryId = inbound_activity.deliveryId outbound_activity.listId = inbound_activity.listId outbound_activity.keywordId = inbound_activity.keywordId outbound_activity.messageId = inbound_activity.messageId outbound_activity.orderId = inbound_activity.orderId outbound_activity.segmentId = inbound_activity.segmentId outbound_activity.workflowId = inbound_activity.workflowId |
list |
outbound_activity.listId = list.id |
activityType STRING |
automatorName STRING |
bounceReason STRING |
bounceType STRING |
contactId STRING |
contactStatus STRING |
createdDate DATE-TIME |
deliveryId STRING |
deliveryStart STRING |
deliveryType STRING |
emailAddress STRING |
ftafEmails STRING |
id STRING |
keywordId STRING |
linkName STRING |
linkUrl STRING |
listId STRING |
listLabel STRING |
listName STRING |
messageId STRING |
messageName STRING |
mobileNumber STRING |
orderId STRING |
segmentId STRING |
segmentName STRING |
skipReason STRING |
smsKeywordName STRING |
socialActivity STRING |
socialNetwork STRING |
unsubscribeMethod STRING |
webformAction STRING |
webformId STRING |
webformName STRING |
workflowId STRING |
workflowName STRING |
unsubscribe
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.
Key-based Incremental |
|
Primary Keys |
contactId deliveryId created |
Replication Key |
created |
Useful links |
complaint STRING |
contactId STRING |
created STRING |
deliveryId STRING |
method STRING |
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.