Braze Connected Content: Complete Guide
Quick Summary:
Connected Content fetches live data from an external API directly into a message at send time -- current inventory, live pricing, real-time data -- without needing to pre-sync that data into Braze as a stored attribute.
What Is Connected Content?
Connected Content is Braze's capability for pulling data from an external API directly into a message template, fetched live at the moment the message is actually generated. Rather than requiring genuinely dynamic data (current stock levels, live pricing, real-time status) to be pre-synced into Braze ahead of time, Connected Content calls out to the source system directly, ensuring the message reflects truly current data rather than a potentially stale snapshot. This is a meaningfully different tradeoff than working entirely with pre-synced attributes -- greater accuracy at send time, in exchange for a new dependency on the external system's availability and response time.
⚠️ Plan for API Failure Gracefully
Since Connected Content depends on a live external API call succeeding at send time, message templates need defensive design for when that call fails or times out. A message that breaks or displays blank content because an external API had a bad moment is a genuinely avoidable failure with proper fallback handling.
How Connected Content Works
Message triggers
Send begins
Connected Content call
Live API request
Data returned
Parsed into template
Message sent
With live data
Connected Content vs Standard Attributes
| Consideration | Custom Attribute | Connected Content |
|---|---|---|
| Data timing | Pre-synced ahead of send | Fetched live at send time |
| Best for | Stable, infrequently-changing data | Genuinely dynamic, real-time data |
| Performance cost | None at send time (already stored) | API call cost per message sent |
| Failure risk | None (data already present) | Requires fallback handling for API failures |
Simplified Connected Content Concept
{% connected_content
https://api.example.com/inventory/{{product_id}}
:save inventory_data %}
{% if inventory_data.in_stock %}
Still available -- order now!
{% else %}
Check out similar items instead.
{% endif %}Common Connected Content Use Cases
Live inventory and pricing: Ensuring cart abandonment or product recommendation emails reflect genuinely current stock and pricing, rather than a snapshot that may have gone stale between when a user's data was last synced and when the email actually sends.
Weather-based personalization: Pulling current weather data for a user's location to tailor message content -- a retailer promoting umbrellas specifically to users in areas currently experiencing rain, for example.
Real-time status updates: Order tracking, flight status, or service availability that changes frequently enough that pre-syncing would risk showing outdated information.
Cross-system data aggregation: Pulling data from an internal system not otherwise synced into Braze, without needing to build a full ongoing data sync pipeline just to support one specific message use case.
Security and Reliability Considerations
Since Connected Content involves Braze calling external systems on your behalf, a few practices matter for using it responsibly at scale.
Credential management: API keys and authentication tokens used in Connected Content configuration should follow the same security discipline as credentials used anywhere else -- not hardcoded carelessly, and rotated according to your organization's security practices.
Rate limiting awareness: A large send using Connected Content generates a correspondingly large burst of API calls in a short window -- confirming the target API can handle that load, or implementing appropriate throttling, avoids inadvertently overwhelming the very system you're trying to integrate with.
Timeout handling: A slow-responding API shouldn't be allowed to delay or break message delivery entirely -- template design should account for realistic timeout scenarios, not just the happy path where the API always responds quickly.
How to Get Started
Identify data that's genuinely dynamic enough to justify a live API call versus a pre-synced attribute.
Configure the Connected Content call, including endpoint, method, and any required authentication.
Build fallback logic in the template for cases where the API call fails or returns unexpected data.
Test thoroughly with real API responses before sending to a live audience.
Monitor send performance, since API call latency and reliability directly affect message delivery at scale.
A Real-World Example
An e-commerce brand's cart abandonment email needs to show current stock status for the specific item left in the cart -- a detail that can change between when the cart was abandoned and when the email actually sends. Connected Content calls the inventory API live at send time, ensuring the email accurately reflects whether the item is still available, rather than risking a message advertising an item that sold out hours earlier, which would create a genuinely bad customer experience.
The template includes explicit fallback handling: if the inventory API call fails or times out, the email gracefully falls back to a generic "check availability on our site" message rather than either failing to send or displaying broken content. This defensive design means a temporary issue with the inventory system doesn't cascade into a broken customer-facing email -- the campaign degrades gracefully rather than failing outright, which is exactly the kind of resilience genuinely production-grade Connected Content usage requires.
💡 Pro Tip
Load-test Connected Content API calls against realistic send volumes before relying on it for a large campaign -- an API that handles occasional calls fine can behave very differently under the concentrated load of a mass send happening within a short window, and discovering that during a live campaign is far worse than catching it in testing.
Frequently Asked Questions
What is Connected Content in Braze?
Connected Content lets you pull data from an external API directly into a message at send time, without needing to pre-load that data into Braze as a user attribute -- the message fetches genuinely live, current data as it's being generated.
How is Connected Content different from a standard custom attribute?
A custom attribute is data already synced into Braze ahead of time; Connected Content fetches data live from an external source at the moment of message generation, useful for genuinely dynamic data (current inventory, live pricing, real-time weather) that would be impractical to keep pre-synced for every user.
What does a Connected Content API call actually look like?
It's an HTTP request configured directly within the message template, specifying the endpoint, method, headers, and how the returned data should be parsed and inserted into the message content.
Can Connected Content include authentication for calling a secured API?
Yes, headers including authentication tokens or API keys can be included in the Connected Content configuration, letting it call properly secured internal or third-party APIs.
Does Connected Content work across all Braze channels, or just email?
Connected Content is available across Braze's messaging channels, including email, push, and in-app messages/Content Cards, not restricted to a single channel.
What happens if the external API call fails or times out during a send?
Message templates should include fallback handling for failed or slow API responses -- a Connected Content call that fails shouldn't result in a broken or blank message reaching the user, so defensive template design matters.
Can Connected Content data be combined with Liquid personalization?
Yes, this is a common and powerful pairing -- Connected Content fetches the raw external data, and Liquid templating logic formats and conditionally displays that data within the message.
Is there a performance cost to using Connected Content at scale?
Yes, meaningfully so -- since each message triggers a live API call, sending Connected Content-powered messages to a very large audience means a correspondingly large number of API calls, which needs to be planned for on both the Braze side and the external API's capacity.
What\'s a common real-world use case for Connected Content?
Pulling current inventory or pricing data into a cart abandonment email, ensuring the message reflects genuinely current availability rather than potentially stale data that was accurate when the user first added the item to their cart.
Can Connected Content call an internal company API, or only public/third-party ones?
Either -- as long as the API is reachable from Braze's infrastructure and properly authenticated, Connected Content can call internal company APIs just as readily as public third-party ones.
Does Connected Content support caching to reduce redundant API calls?
Some caching behavior may apply depending on configuration and use case -- worth reviewing current documentation for the specific caching behavior relevant to your implementation, since this affects both performance and how current the displayed data actually is.
Can Connected Content be used within a Canvas, or only standalone campaigns?
Yes, Connected Content works within Canvas message steps the same way it does in standalone campaigns, letting journey-based messaging incorporate live external data as well.
What HTTP methods does Connected Content support beyond simple GET requests?
Standard HTTP methods including POST are generally supported, letting Connected Content calls handle more complex API interactions beyond simple data retrieval, depending on what the external API requires.
Can the response from a Connected Content call be reused across multiple parts of the same message?
Yes, once fetched and saved to a variable within the template, the returned data can be referenced multiple times throughout that same message without triggering additional API calls.
Related Articles