<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>SDKs and APIs — Braze Bonfire</title>
        <link>https://community.braze.com/</link>
        <pubDate>Tue, 26 May 2026 07:11:41 +0000</pubDate>
        <language>en</language>
            <description>SDKs and APIs — Braze Bonfire</description>
    <atom:link href="https://community.braze.com/discussions/tagged/sdks-and-apis/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>Challenges with Fetching Spam-Blocked Users from Braze</title>
        <link>https://community.braze.com/discussion/5584/challenges-with-fetching-spam-blocked-users-from-braze</link>
        <pubDate>Thu, 12 Mar 2026 00:43:00 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>Nirnay</dc:creator>
        <guid isPermaLink="false">5584@/discussions</guid>
        <description><![CDATA[<p>We've been working on identifying users who have marked our emails as spam, and it's proven to be significantly more complex than expected. Here's a breakdown of the key challenges we've run into:</p><ol><li><strong>No current-state API — only raw event streams</strong> Braze doesn't expose a current-state endpoint for spam status. The only available data is a stream of raw events, which means you have to rely on a data warehouse to ingest and process potentially millions of event logs just to reconstruct user state.</li><li><strong>Spam status is reversible, requiring cross-referencing two large event tables</strong> Because a spam mark can be reversed, you can't simply collect spam events and call it done. Each spam event needs to be cross-referenced against send events to determine whether the spam status is still active — which means scanning two large tables on every run.</li><li><strong>Events arrive independently with no guaranteed ordering</strong> The spam event and the corresponding send event don't arrive together or at consistent times. A user might generate a spam event today and a related send event days later, making real-time or near-real-time processing unreliable.</li><li><strong>Certain Canvases allow sending to spam-blocked users, causing false positives</strong> Some Canvases are configured to bypass spam suppression and send to all users, including those who have marked messages as spam. This means a send event from such a Canvas can overwrite a user's spam status to false, producing false positives in any derived spam blocklist.</li><li><strong>Heavy infrastructure overhead</strong> All of the above ultimately requires building and maintaining a scheduled backend job that runs daily, pulling and processing large volumes of data from the warehouse — adding meaningful operational and compute cost.</li></ol><p>Has anyone else run into these issues? Would love to hear how others are approaching this, or whether there are better patterns we haven't considered.</p>]]>
        </description>
    </item>
    <item>
        <title>London UK - Crm Technical Manager</title>
        <link>https://community.braze.com/discussion/5709/london-uk-crm-technical-manager</link>
        <pubDate>Tue, 05 May 2026 19:01:49 +0000</pubDate>
        <category>The Job Board</category>
        <dc:creator>RoxGrey</dc:creator>
        <guid isPermaLink="false">5709@/discussions</guid>
        <description><![CDATA[<p>Seeking a CRM Mastermind (or a Future One in the making!) </p><p>Utility Warehouse (London, UK)</p><p>I'm looking for a CRM Technical Manager to help us architect the future of our technical delivery engine.</p><p>Ideally, you’re already a bit of a tech wiz - someone who lives in Braze, speaks Liquid, and loves getting stuck into BigQuery to solve data puzzles.</p><p>But if you aren't a technical expert yet, please don't let that stop you. If you have a logical brain, a passion for (and a history in) CRM enablement, and a massive appetite to learn, we want to talk to you. We have a highly technical, supportive team here, ready to mentor you and turn you into a definitive subject matter expert in MarTech strategy.</p><p>Your mission, should you choose to accept it:</p><ul><li>You won’t just 'send campaigns', you’ll be the architect behind our most complex growth or core journeys</li><li>You’ll deep-dive into the 'how' and 'why' of automation, ensuring our data and messaging are always perfectly synced</li><li>You’ll play a key role in defining the workflows and documentation that will allow our team to grow without breaking</li></ul><p>In a nutshell, we need a 'Master Practitioner' with the foresight of a Lead. Whether you’re already there or you're looking for the right team to help you get there, this is the place to do it.</p><p>London (Hybrid 1-2 days in office)</p><p>Please DM me for extra details.</p><p>Thanks</p><p>Rox</p>]]>
        </description>
    </item>
    <item>
        <title>&lt;Closed&gt; Looking for Interim Head of CRM Ops for 3-5 months with deep Braze expertise!</title>
        <link>https://community.braze.com/discussion/5683/looking-for-interim-head-of-crm-ops-for-3-5-months-with-deep-braze-expertise</link>
        <pubDate>Mon, 13 Apr 2026 19:22:24 +0000</pubDate>
        <category>The Job Board</category>
        <dc:creator>jennaklebanoff1</dc:creator>
        <guid isPermaLink="false">5683@/discussions</guid>
        <description><![CDATA[<p>I am hiring a temp 3-5 month CRM Ops leader for medical leave coverage.</p><ul><li>Looking for a full time or near full time contractor, managing the CRM ops team (8 people) who operates in cordial (email) and braze (push and IAMs). The Braze expertise is more critical. I want someone who can be a player/coach, roll up their sleeves and help the team learn more about Braze capabilities and level up their skills</li><li>Need to keep the day-to-day afloat — campaign speed, quality, minimal issues. When there are issues, be comfortable and capable tracking the data sources.</li><li>Ideally has hightouch experience too as most of our Braze data comes in through hightouch</li><li>Bonus: if I can find someone who can help this same team accelerate AI for workflow efficiencies, QA, coding, process improvements that would be a cherry on top</li><li>We are a high volume, highly personalized sender — looking for someone with experience with 100s of millions of sends per month, highly complex campaign logic, high degree of personalization</li><li>Must be in the US, remote is fine</li></ul>]]>
        </description>
    </item>
    <item>
        <title>Custom HTML for Banners</title>
        <link>https://community.braze.com/discussion/5604/custom-html-for-banners</link>
        <pubDate>Tue, 17 Mar 2026 07:00:44 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>Rajorigin</dc:creator>
        <guid isPermaLink="false">5604@/discussions</guid>
        <description><![CDATA[<p>Hello friends,</p><p>Appreciate your thoughts on this, mainly from a security perspective. We were exploring custom HTML Banners in Braze. In this case, the SDK would render both the content payload and the HTML to the website DOM and the browser would execute the code.&nbsp;</p><p>We were conscious that anyone could accidently insert malicious content into the HTML, resulting in PII sharing, stolen cookie tokens etc. Currently we can set <span>allowUserSuppliedJavascript</span>&nbsp; to '<span>true</span>' to accept custom JS<br /><br />Has anyone implemented guardrails within your teams/ processes to manage such risks whilst leveraging the custom HTML for Banners? Would be great to hear your thoughts.</p><p>Regards<br />Raj</p>]]>
        </description>
    </item>
    <item>
        <title>First_did_event</title>
        <link>https://community.braze.com/discussion/5597/first-did-event</link>
        <pubDate>Mon, 16 Mar 2026 15:58:31 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>David_M</dc:creator>
        <guid isPermaLink="false">5597@/discussions</guid>
        <description><![CDATA[<p>Hi all,&nbsp;<br /><br />I'm working with a white label solution so 95% of my events (and attribute overwrites) are being ingested in to Segment and forwarded to braze via webhooks and largely it's working fine.&nbsp;&nbsp;<br /><br />However, I have a first_did_action_event that is super key but not available via the webhook<br /><br />the only place that see's it is snowflake via updated tables every 5 minutes (not Ideal but soon enough to remove clients from nudging canvas and in to others)&nbsp;<br /><br />I plan to build tables for details that help us group&nbsp; activity based on the first and ongoing did_action_event but wondering the following:&nbsp;<br /><br />CDI will allow me to update attributes&nbsp;<br /><br />But how can I send an event with these systems alone if i want to trigger an event (rather than use audience exclusions to remove someone) - We might want to trigger comms on this action_event in future potentially.&nbsp;<br /><br />I've been reading up about <a href="https://docs.snowflake.com/en/sql-reference/external-functions" target="_blank" rel="nofollow noopener noreferrer">external_functions in snowflake</a> and think we can use Segment Source Function to accept the Above external_function and send on to Braze.&nbsp;<br /><br />Could anyone confirm or offer up some alternative options.&nbsp;<br /><br />Thanks.&nbsp;<br /><br /></p>]]>
        </description>
    </item>
    <item>
        <title>Strategy to Identify Duplicate Profiles</title>
        <link>https://community.braze.com/discussion/5430/strategy-to-identify-duplicate-profiles</link>
        <pubDate>Mon, 08 Dec 2025 22:57:57 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>kethiri</dc:creator>
        <guid isPermaLink="false">5430@/discussions</guid>
        <description><![CDATA[<p>We needed to identify and merge duplicate Braze profiles (same email, different user IDs) across our entire user base. We evaluated two solutions.</p><h6 id="community-5430-toc-hId--968844648">Solution 1: Identify duplicate profiles via /users/export/ids and attach a custom attribute for segmentation</h6><p>Export each profile, identify duplicates externally, then update profiles with a custom attribute is_duplicated=true and capture them via a segment.</p><pre><code>{% connected_content 
https://rest.au-01.braze.com/users/export/ids
:method post
:headers {
"Authorization": "Bearer XXXX"
} 
:body {"email_address":"{{${email_address}}}"}
:content_type application/json
:no_cache 
:save result
%}
{% if result.users.size == 1 %} 
{% abort_message('User is unique.') %}
{% endif %}
{
 "attributes" : [
    {
    "braze_id" : "{{${braze_id}}}",
    "is_duplicated": true,
    "_update_existing_only" : true
    }
  ]
}</code></pre><p>One caveat with this solution is that we need to export the entire user base, and it will take a couple of days to identify the duplicates.</p><h6 id="community-5430-toc-hId--940215497">Solution 2: Identify the duplicate profiles via a Segment extension</h6><p>Key Assumptions:</p><ul><li>Every profile in Braze has at least one entry in&nbsp;USERS_BEHAVIORS_SUBSCRIPTION_GLOBALSTATECHANGE_SHARED (i.e., all profiles have a subscription state change event)</li><li>Every deleted profile appears in USERS_USERDELETEREQUEST_SHARED</li></ul><p>Here's the query we're using:</p><pre><code>-- Purpose: Identify duplicate Braze profiles (same email, different user IDs) for merging via /users/merge endpoint
-- Excludes deleted/orphaned users and only returns duplicates where 2+ active profiles remain

WITH active_users AS (
    -- Get unique user/email pairs, excluding deleted/orphaned users
    SELECT u.USER_ID, u.EMAIL_ADDRESS
    FROM USERS_BEHAVIORS_SUBSCRIPTION_GLOBALSTATECHANGE_SHARED u
    LEFT JOIN USERS_USERDELETEREQUEST_SHARED d ON u.USER_ID = d.USER_ID
    WHERE u.EMAIL_ADDRESS IS NOT NULL
      AND d.USER_ID IS NULL  -- Exclude deleted/orphaned users
    GROUP BY u.USER_ID, u.EMAIL_ADDRESS  -- Dedupe since source table contains multiple events per user
)

SELECT DISTINCT a.USER_ID
FROM active_users a
INNER JOIN (
    -- Find emails with more than one active user profile
    SELECT EMAIL_ADDRESS
    FROM active_users
    GROUP BY EMAIL_ADDRESS
    HAVING COUNT(*) &gt; 1
) dup ON a.EMAIL_ADDRESS = dup.EMAIL_ADDRESS;</code></pre><p><br />Key findings:</p><ul><li>This query only takes a couple of minutes to identify duplicates</li><li>USERS_USERDELETEREQUEST_SHARED contains both explicitly deleted users AND users orphaned via /users/merge - this means the query automatically excludes already-merged profiles. Looks like Braze prunes orphaned profiles after /users/merge is performed.</li></ul><p>Has anyone else taken this approach? Curious if there are edge cases we should watch out for.</p>]]>
        </description>
    </item>
    <item>
        <title>Race Condition Issue between API-trigger and mail execution during Registration</title>
        <link>https://community.braze.com/discussion/2923/race-condition-issue-between-api-trigger-and-mail-execution-during-registration</link>
        <pubDate>Fri, 22 Mar 2024 09:38:23 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>Selman_Balci</dc:creator>
        <guid isPermaLink="false">2923@/discussions</guid>
        <description><![CDATA[<p>Hello people,</p><p>I have this interesting case which looking for a proper solution that wont affect the UX during onboarding.</p><p>When user completes the registration process, we send a service mail with a verification link that users can verify their email addresses.</p><p>Service mail is set as API-triggered campaign and we have this race problem that sometimes the API call is prior to mail execution which gives an error: "User can't found"</p><p>Our campaign flow for user creation process on Braze contains 2 steps:</p><p>1- API call to create a ghost user (using alias and email address attribute only) to create user profile</p><p>2- API call to find the user profile and trigger the email send</p><p>3- when user clicks and verify mail --&gt; actual user profile is created with all attributes.</p><p>4- API call to merge these user profiles.</p><p>&nbsp;</p><p>Between step 1 and 2, API call to find user data for executing email fails.</p><p>&nbsp;</p><p>Any user case or solution with this issue above? Support suggesting to add more delay between API calls to not face race condition, however registering a service and wait 3-4 minutes of 1st email for verification is not match with our UX flow.</p><p>&nbsp;</p><p>Thanks in advance</p>]]>
        </description>
    </item>
    <item>
        <title>5000 product_id limit</title>
        <link>https://community.braze.com/discussion/5367/5000-product-id-limit</link>
        <pubDate>Mon, 03 Nov 2025 14:20:15 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>mikaoelitiana</dc:creator>
        <guid isPermaLink="false">5367@/discussions</guid>
        <description><![CDATA[<p>Hi all,</p><p>We are using Braze’s purchase object with dynamic product_id values based on travel routes. The <a href="https://www.braze.com/docs/api/objects_filters/purchase_object/#purchase-product-id" target="_blank" rel="nofollow noopener noreferrer">docs mention a 5,000 product_id limit in the dashboard</a>. What happens when this limit is reached?&nbsp;Are older product_ids automatically removed, or will new ones be rejected? Any insights on the behaviour would help us plan product naming better.</p><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Braze SDK: Logged Out/In States &amp; Push States</title>
        <link>https://community.braze.com/discussion/5342/braze-sdk-logged-out-in-states-push-states</link>
        <pubDate>Fri, 17 Oct 2025 14:53:19 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>inespais</dc:creator>
        <guid isPermaLink="false">5342@/discussions</guid>
        <description><![CDATA[<p>Hey Bonfire! How did your devs configure the Braze SDK behaviour for Logged Out users in cross-device states? There are some concerns at play here and looking to make a call that is future-proof but also not overly complex on handling edge cases.<br /><br />Context:<br />- EU app&nbsp;<br />- Cross-device app and (potentially edge-case) multi-user per device<br />- Team leaning towards not manually updating Push Subscription status to Unsubscribed when users opt-out due to complexity in handling all edge cases and also not wanting to Unsubscribe someone from multiple devices when they only opted-out in one<br /><br />Outstanding question is&nbsp;<strong>when a user logs out</strong> whether it's best to:<br />1. Stop the SDK from running altogether to ensure the user is not being tracked by accident while logged out (thinking GDPR/Privacy compliance here);<br />2. De-register the push token, and re-register later upon new login;<br />3. Create an anonymous user (which will have the previous push tokens) and later merge the profiles upon new login --&gt; I'm not sure this is possible since the external_id will already be assigned so it's not really anonymous.<br /><br />In short, what is the best practice to ensure that if Logged Out:<br />- No Push Notifications are sent to the device<br />- We can easily recognise and recover the push preference after a re-Login?<br />... while keeping the config. as simple as possible<br /><br />Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>How to tell a recipient&#39;s bounce status in an export?</title>
        <link>https://community.braze.com/discussion/5291/how-to-tell-a-recipients-bounce-status-in-an-export</link>
        <pubDate>Mon, 29 Sep 2025 22:03:27 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>Drew</dc:creator>
        <guid isPermaLink="false">5291@/discussions</guid>
        <description><![CDATA[<p>I am using the Braze export API to pull down recently added users, and want to check if any of them are marked as hard bounce, or have already accumulated any soft bounces (and if so, in what time period). Similarly, I'd like to be able to tell if a user has marked as spam.</p><p>Is there an attribute capturing this information that I'm overlooking? Or is the best/only solution to create segments for those attributes and make multiple requests.</p><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Segment Users with Generalized Interactions</title>
        <link>https://community.braze.com/discussion/5299/segment-users-with-generalized-interactions</link>
        <pubDate>Wed, 01 Oct 2025 15:37:10 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>Drew</dc:creator>
        <guid isPermaLink="false">5299@/discussions</guid>
        <description><![CDATA[<p>I can see how to segment for Users who have opened an email from or clicked a link in a specific campaign.</p><p>Is there a way to see Users who have received / clicked for any campaigns, either in general or within a given date range?</p><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Export Email Template rendered for User?</title>
        <link>https://community.braze.com/discussion/5295/export-email-template-rendered-for-user</link>
        <pubDate>Tue, 30 Sep 2025 17:34:25 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>Drew</dc:creator>
        <guid isPermaLink="false">5295@/discussions</guid>
        <description><![CDATA[<p>Within Braze's Email Template Preview, you can preview for either a random, specified, or custom user, to see and download the rendered email template.</p><p>I know about the API endpoint for "See email template information" GET /templates/email/info - however, it only appears to support retrieving the raw template, without a means to render.</p><p>Is there an API for retrieving a rendered email template; ideally for a specified or customized user?</p><p>Thanks!</p><p>&nbsp;</p>]]>
        </description>
    </item>
    <item>
        <title>Tracking Users&#39; Post Click</title>
        <link>https://community.braze.com/discussion/5130/tracking-users-post-click</link>
        <pubDate>Wed, 23 Jul 2025 20:02:06 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>JordanW</dc:creator>
        <guid isPermaLink="false">5130@/discussions</guid>
        <description><![CDATA[<p>Hi Braze Community,&nbsp;</p><p>I am scratching my head a bit trying to understand how the Braze SDK does not have an out-of-box feature that automatically associates a session with a specific user post email/sms campaign click. From what I am reading, even after having clicked through a campaign, if a user comes in a private browser or is not cookied Braze will not recognize them until they log in or put their email somewhere onsite. This is hugely challenging for us, and I assume others as we want all email/sms traffic post-click automatically identified to help fuel abandonment flows.&nbsp;</p><p>The only solution that we have found is surfacing the external id in every campaign URL and calling changeuser once they hit the site referencing their external id in the URL to tie their session to the correct profile. Is this truly the only option or am I misinterpreting this workflow? How have others dealt with this issue?</p>]]>
        </description>
    </item>
    <item>
        <title>iOS Braze SDK and Content Card Data Questions</title>
        <link>https://community.braze.com/discussion/5055/ios-braze-sdk-and-content-card-data-questions</link>
        <pubDate>Tue, 17 Jun 2025 21:35:39 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>adrianlauron-sx</dc:creator>
        <guid isPermaLink="false">5055@/discussions</guid>
        <description><![CDATA[<p>Hello there! Quite a newbie here in Braze Bonfire.</p><p>Hopefully someone knows something about the question I have: We have an iOS mobile app created using Swift and we are in the process of implementing content cards via Braze SDK. What we noticed is Braze SDK didn't have the content card data on our first call to Braze SDK even when I already called the cancellable stated in <a href="https://www.braze.com/docs/developer_guide/content_cards/logging_analytics?redirected=1#listening-for-card-updates" target="_blank" rel="nofollow noopener noreferrer">this documentation</a>. Only when we do further calls to requestRefresh() it is only then we are able to get content card data.</p><p>Has anyone experienced this before and is there a way to do it in such a way that when you do a first call to SDK and a first call to requestRefresh() will have the content card data ready for fetching?</p><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Need to export Opted In date. Any ideas?</title>
        <link>https://community.braze.com/discussion/4769/need-to-export-opted-in-date-any-ideas</link>
        <pubDate>Tue, 01 Apr 2025 00:18:20 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>DavidO</dc:creator>
        <guid isPermaLink="false">4769@/discussions</guid>
        <description><![CDATA[<p>Hi all<br /><br />We are linking our Braze instance to some internal tooling and it is a non-negotiable requirement that we share the opted in date for each user we pass, so they know how old the opt in is. I can see the date exists inside Braze but it does not look like the API passes this date.<br /><br />Has anyone had a similar problem or know of a workaround?</p><span data-image-alt=""><button type="button" aria-haspopup="true" aria-label="Enlarge Image"><img src="https://us.v-cdn.net/6038696/uploads/attachments/bS00NzY5LUhyem5ncg/image.png" width="600" height="74" alt="" /></button></span><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Braze User ID in /campaigns/trigger/send API Response</title>
        <link>https://community.braze.com/discussion/5132/braze-user-id-in-campaigns-trigger-send-api-response</link>
        <pubDate>Wed, 23 Jul 2025 20:39:00 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>JordanW</dc:creator>
        <guid isPermaLink="false">5132@/discussions</guid>
        <description><![CDATA[<p>Hey folks 👋 — I’m working on an integration using the /campaigns/trigger/send endpoint and wanted to share something I ran into.</p><p>Here’s a sample payload I’m sending:</p><p>{<br />&nbsp; "campaign_id": "d44eaedf-bd07-4a95-881f-3c1662796a96",<br />&nbsp; "recipients": [<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; "external_user_id": "{{HASHED_EMAIL_ADDRESS}}",<br />&nbsp; &nbsp; &nbsp; "prioritization": ["unidentified"],<br />&nbsp; &nbsp; &nbsp; "send_to_existing_only": false,<br />&nbsp; &nbsp; &nbsp; "attributes": {<br />&nbsp; &nbsp; &nbsp; &nbsp; "email": "{{EMAIL_ADDRESS}}"<br />&nbsp; &nbsp; &nbsp; }<br />&nbsp; &nbsp; }<br />&nbsp; ]<br />}</p><p>And here’s the response I’m getting back:</p><p>{<br />&nbsp; "dispatch_id": "687e7579a602835baed3e4868af9c06e",<br />&nbsp; "message": "success"<br />}</p><p>Love that it’s working, but…</p><p><strong>It would be incredibly helpful if the response also included the Braze User ID</strong> (braze_id) that the message was sent to.</p><p>In use cases where we’re sending to partially identified users or passing in attributes dynamically, it’d be really valuable to get confirmation of the user object Braze resolved to. This would help with:</p><ul><li>Debugging user identity issues</li><li>Verifying merge behavior when using prioritization</li><li>Logging and downstream analytics</li><li>Ensuring consistency across systems (especially when using Braze as source-of-truth for user resolution)</li></ul><p>Could Braze consider optionally including the braze_id in the response when the user resolution is successful?</p><p>Curious if anyone else has tackled this — or has a good workaround? Would love to hear your thoughts.</p><p>Thanks!</p><p>J</p><p>&nbsp;</p><p>&nbsp;</p>]]>
        </description>
    </item>
    <item>
        <title>externalID</title>
        <link>https://community.braze.com/discussion/4851/externalid</link>
        <pubDate>Thu, 24 Apr 2025 01:01:46 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>HernandoRen</dc:creator>
        <guid isPermaLink="false">4851@/discussions</guid>
        <description><![CDATA[<p>hello</p>]]>
        </description>
    </item>
    <item>
        <title>Braze Webhook notifications do not work</title>
        <link>https://community.braze.com/discussion/4699/braze-webhook-notifications-do-not-work</link>
        <pubDate>Wed, 19 Mar 2025 06:57:19 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>hs_son_gr</dc:creator>
        <guid isPermaLink="false">4699@/discussions</guid>
        <description><![CDATA[<p>Hi, I have several webhook alerts:</p><ul><li>Scheduled Campaign Finished Sending</li><li>Scheduled Campaign Sent/Not Sent&nbsp;</li></ul><p>It stopped working a few days ago. I also have Webhook Errors email notification, but I got nothing.</p><p>Strangely, apart from the webhook, the email alerts for `Scheduled Campaign Finished Sending` and `Scheduled Campaign Sent/Not Sent` are working.</p><p>Please let me know if there's a problem. Thank you.</p>]]>
        </description>
    </item>
    <item>
        <title>Manage Connected Content Headers</title>
        <link>https://community.braze.com/discussion/4557/manage-connected-content-headers</link>
        <pubDate>Wed, 19 Feb 2025 15:52:09 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>dpDss44</dc:creator>
        <guid isPermaLink="false">4557@/discussions</guid>
        <description><![CDATA[<p><a href="https://www.braze.com/docs/user_guide/personalization_and_dynamic_content/connected_content/making_an_api_call/#authentication-types" target="_blank" rel="nofollow noopener noreferrer">This page</a> suggests the ability to set and manage connected content authorization. Our admin has raised my credentials (I've logged in and out) and I'm still not seeing this available under any of the settings menus.</p><p>Can someone provide insight here either the exact breadcrumbs and/or the permission set needed to access the menu?</p>]]>
        </description>
    </item>
    <item>
        <title>JSON body arrays in connected content API calls</title>
        <link>https://community.braze.com/discussion/4470/json-body-arrays-in-connected-content-api-calls</link>
        <pubDate>Wed, 12 Feb 2025 05:20:43 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>LouisAlston</dc:creator>
        <guid isPermaLink="false">4470@/discussions</guid>
        <description><![CDATA[<p>Currently building out some complex connected content use cases.</p><p>Many APIs require arrays in the request, however I haven't able to make these types of requests in Braze.</p><p>I would like to make a request with this body structure:</p><p>{<br />&nbsp; "model": "sonar-pro",<br />&nbsp; "messages": [<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; "role": "system",<br />&nbsp; &nbsp; &nbsp; "content": "Be precise and concise."<br />&nbsp; &nbsp; },<br />&nbsp; &nbsp; {<br />&nbsp; &nbsp; &nbsp; "role": "user",<br />&nbsp; &nbsp; &nbsp; "content": "How many stars are there in our galaxy?"<br />&nbsp; &nbsp; }<br />&nbsp; ],<br />&nbsp; "max_tokens": 123,<br />&nbsp; "temperature": 0.2<br />}</p><p>For context, this is a request to Perplexity API.</p><p>So far, in testing through webhook.site I haven't been able to properly make this request. I have gotten close using some complex url-encoding but its not 100%.&nbsp;</p><p>Is there any known limitation of using arrays within the body of requests or a solution/workaround to this issue?</p><p>Cheers!</p>]]>
        </description>
    </item>
    <item>
        <title>PUSH TOKENS</title>
        <link>https://community.braze.com/discussion/4416/push-tokens</link>
        <pubDate>Wed, 29 Jan 2025 15:31:48 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>mahimsp</dc:creator>
        <guid isPermaLink="false">4416@/discussions</guid>
        <description><![CDATA[<p>Hi&nbsp;<br />I'm trying send test to my flutter APP but I'm facing this issue<br />None of the selected users have matching push tokens for Android Push.<br />This exact same config worked just a day ago, but I had to reinstall the app after modifications, now I'm running into this error anyone who could help would be much appreciated&nbsp;<br /><br /></p><p>&nbsp;</p>]]>
        </description>
    </item>
    <item>
        <title>Liquid Date Formatting for API-Triggered Properties</title>
        <link>https://community.braze.com/discussion/4310/liquid-date-formatting-for-api-triggered-properties</link>
        <pubDate>Tue, 14 Jan 2025 17:55:10 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>kayla_upton</dc:creator>
        <guid isPermaLink="false">4310@/discussions</guid>
        <description><![CDATA[<p>I'm trying to format the date and time on our transactional appt confirmation emails. I found a formula that worked perfectly when I used a date field from Braze, but when I plug this same formula in with a property from an API trigger, it doesn't work.</p><p><strong><u>Here's the liquid logic and output for a custom attribute date field stored on the user profile (correct result):</u></strong></p><span data-image-alt=""><button type="button" aria-haspopup="true" aria-label="Enlarge Image"><img src="https://us.v-cdn.net/6038696/uploads/attachments/bS00MzEwLUdFSk5aQg/Screenshot 2025-01-14 at 11.45.00 AM.png" width="500" height="152" alt="" /></button></span><span data-image-alt=""><button type="button" aria-haspopup="true" aria-label="Enlarge Image"><img src="https://us.v-cdn.net/6038696/uploads/attachments/bS00MzEwLTNUTVduSQ/Screenshot 2025-01-14 at 11.43.36 AM.png" width="327" height="97" alt="" /></button></span><p>&nbsp;</p><p><u>And here's the liquid script used with the API-triggered property and the output I get with that one (incorrect result):</u></p><span data-image-alt=""><button type="button" aria-haspopup="true" aria-label="Enlarge Image"><img src="https://us.v-cdn.net/6038696/uploads/attachments/bS00MzEwLTIzWURRaw/Screenshot 2025-01-14 at 11.52.22 AM.png" width="504" height="148" alt="" /></button></span><p>&nbsp;</p><span data-image-alt=""><button type="button" aria-haspopup="true" aria-label="Enlarge Image"><img src="https://us.v-cdn.net/6038696/uploads/attachments/bS00MzEwLWttbmlRRg/Screenshot 2025-01-14 at 11.45.39 AM.png" width="220" height="111" alt="" /></button></span><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>Does anyone know what might be causing this?</p>]]>
        </description>
    </item>
    <item>
        <title>User Data Export with callback endpoint</title>
        <link>https://community.braze.com/discussion/4181/user-data-export-with-callback-endpoint</link>
        <pubDate>Fri, 20 Dec 2024 14:45:54 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>suarezlorenzo7</dc:creator>
        <guid isPermaLink="false">4181@/discussions</guid>
        <description><![CDATA[<p>Hey hey! Hope y'all doing well.</p><p>Has anyone ever exported User Data using not currents but a callback endpoint?</p><p>I'm currently trying to automate exporting user data from a given segment using a callback endpoint. I'm using a Pub/Sub topic in GCP to do this. The problem is that I don't fully understand the mechanisms on how Braze publishes the URL to download the folder containing the user data in the payload response, after the API call.</p><p>For example, if I'm exporting a big segment (10k+), the response from Braze is immediate:</p><pre>{
  "message": "success",
  "object_prefix": "812ad47c-451b-4d0a-b158-6d33713ba07b-1734705464",
  "url": null
}</pre><p>But the URL is still not available (probably due to the size of the segment).</p><p>My idea was to set a Pub/Sub topic which would be populated with the URL once it is ready, but I don't know what is the mechanism that Braze uses to update the URL in the payload response.</p><p>I know it's a narrow specific problem, but any ideas, suggestions, or provocations would be of amazing enlightenment to me.</p><p>Thank you!</p>]]>
        </description>
    </item>
    <item>
        <title>How to Use the standard user attribute in the Connected audience object filter</title>
        <link>https://community.braze.com/discussion/4020/how-to-use-the-standard-user-attribute-in-the-connected-audience-object-filter</link>
        <pubDate>Mon, 18 Nov 2024 06:48:22 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>st-haingo</dc:creator>
        <guid isPermaLink="false">4020@/discussions</guid>
        <description><![CDATA[<p>from the API side, I followed the document here to create an audience filter and send a message to the audience after this filter.<br />But the document only mentions using custom attributes:<br /><em>{&nbsp;</em><br /><em>&nbsp; "custom_attribute":</em><br /><em>&nbsp; &nbsp; {</em><br /><em>&nbsp; &nbsp; &nbsp; &nbsp;"custom_attribute_name": (String) the name of the custom attribute to filter on,</em><br /><em>&nbsp; &nbsp; &nbsp; &nbsp;"comparison": (String) one of the allowed comparisons to make against the provided value,</em><br /><em>&nbsp; &nbsp; &nbsp; &nbsp;"value": (String, Numeric, Boolean) the value to be compared using the provided comparison</em><br /><em>&nbsp; &nbsp; }</em><br /><em>}</em><br />also can I use standard user attributes, like `country` for example:<br /><em>{</em><br /><em>&nbsp; "attribute_name": "country",</em><br /><em>&nbsp; "comparison": "equals",</em><br /><em>&nbsp; "value": 'VN'</em><br /><em>},</em></p><p>I think Braze does support this, it's just missed from the document side, right?</p><p>Thank you sou much</p>]]>
        </description>
    </item>
    <item>
        <title>How is Your Company Utilizing the Web SDK?</title>
        <link>https://community.braze.com/discussion/3886/how-is-your-company-utilizing-the-web-sdk</link>
        <pubDate>Thu, 24 Oct 2024 14:31:25 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>sdepalo</dc:creator>
        <guid isPermaLink="false">3886@/discussions</guid>
        <description><![CDATA[<p>Hello! I'm currently exploring the use of Braze's Web SDK for our financial institution and would love to hear how others, especially those in similar industries, are leveraging it.</p><p>One concern is that our online banking platform is managed separately, which could limit our ability to track member interactions or trigger personalized communications. Since we can't access their email unless they log into online banking, and it’s unlikely they would log in and then return to the main website, this may impact the effectiveness of our tracking and engagement efforts.</p><p>For those using the Web SDK, do you primarily focus on tracking anonymous users? What kind of insights are you gathering?</p><p>Any insights or advice would be greatly appreciated!&nbsp;</p>]]>
        </description>
    </item>
    <item>
        <title>Is there a way to export audience data from a campaign?</title>
        <link>https://community.braze.com/discussion/3841/is-there-a-way-to-export-audience-data-from-a-campaign</link>
        <pubDate>Fri, 11 Oct 2024 16:18:33 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>pedro_rodrigues</dc:creator>
        <guid isPermaLink="false">3841@/discussions</guid>
        <description><![CDATA[<p>Hello everyone!</p><p>Is there any way to export the data of the <strong>Audience Settings</strong> from a campaign such as highlighted in the screenshot bellow? I would like to access this information for all campaigns using the Braze API.</p><p>I found information about the campaigns (<a href="https://www.braze.com/docs/api/endpoints/export/campaigns/get_campaign_details" target="_blank" rel="nofollow noopener noreferrer">https://www.braze.com/docs/api/endpoints/export/campaigns/get_campaign_details</a>) and segments (<a href="https://www.braze.com/docs/api/endpoints/export/segments/get_segment_details" target="_blank" rel="nofollow noopener noreferrer">https://www.braze.com/docs/api/endpoints/export/segments/get_segment_details</a>), but neither of these endpoints provide any information about the audiences or the relations between segments and campaigns.</p><span data-image-alt=""><button type="button" aria-haspopup="true" aria-label="Enlarge Image"><img src="https://us.v-cdn.net/6038696/uploads/attachments/bS0zODQxLUVEblpzYw/image.png" width="600" height="371" alt="" /></button></span><p>&nbsp;</p>]]>
        </description>
    </item>
    <item>
        <title>Spike in monthly active users after SDK update</title>
        <link>https://community.braze.com/discussion/3600/spike-in-monthly-active-users-after-sdk-update</link>
        <pubDate>Thu, 01 Aug 2024 00:04:33 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>ash_rbd</dc:creator>
        <guid isPermaLink="false">3600@/discussions</guid>
        <description><![CDATA[<p>Hey everyone, we have noticed a huge spike in our monthly active users after we did a web SDK update. We have isolated the channel to be web only, but are unsure what could have caused this. It's almost doubled our MAU in 2 months and we are reaching our user cap! Has anyone experienced anything similar or have suggestions on what could be causing this? Apologies for not much information, we are quite stumped</p>]]>
        </description>
    </item>
    <item>
        <title>Generate UUIDs in App Group with multiple apps</title>
        <link>https://community.braze.com/discussion/3699/generate-uuids-in-app-group-with-multiple-apps</link>
        <pubDate>Fri, 23 Aug 2024 14:29:51 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>erik_lundgren</dc:creator>
        <guid isPermaLink="false">3699@/discussions</guid>
        <description><![CDATA[<p>Hi!</p><p>Braze documentation says that in recent versions of the SDK, Braze uses custom UUIDs as device IDs.</p><p>Assume that I have an app group with multiple apps. Does Braze use the same UUID as the device ID for each app on a customer's device? Or is a new UUID generated for each app on the same device?</p><p>Thanks!</p>]]>
        </description>
    </item>
    <item>
        <title>Braze Auth Errors</title>
        <link>https://community.braze.com/discussion/3331/braze-auth-errors</link>
        <pubDate>Wed, 19 Jun 2024 15:18:12 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>MartinMM</dc:creator>
        <guid isPermaLink="false">3331@/discussions</guid>
        <description><![CDATA[<p>Hello! We've been experiencing Braze Authentication errors (with code 22) after migrating the mobile SDK to version 9.2.0 on Android. After some investigating, it seems that those errors happen when the braze token expires while the mobile app is inactive (open but on the background). Is there someone that faces the same issue?</p>]]>
        </description>
    </item>
    <item>
        <title>Removing HTML tags while ingesting using the API</title>
        <link>https://community.braze.com/discussion/3113/removing-html-tags-while-ingesting-using-the-api</link>
        <pubDate>Tue, 21 May 2024 14:51:10 +0000</pubDate>
        <category>Data &amp; AI</category>
        <dc:creator>barry-from-ws</dc:creator>
        <guid isPermaLink="false">3113@/discussions</guid>
        <description><![CDATA[<p>Has anyone tried to remove tags from the HTML body of email campaigns when ingesting into a data warehouse? I'd love to be able to have a human-readable version of the email body with tags stripped out.</p>
<p>I don't want to have to create a bespoke tag stripping pipeline, as this is prohibitively slow if done in the warehouse, and the alternative is to put something ad-hoc between e.g. FiveTran and my data warehouse.</p>
<p>These ad-hoc solutions can be error prone and expose security holes for customers if whatever html parser used isn't correctly designed. It would be so much nicer and more reliable to have the stripped-out html in a field during ingestion.</p>
<p>Wondering if anyone has had a similar need and how you tackled it!</p>]]>
        </description>
    </item>
   </channel>
</rss>
