Created
February 1, 2026 20:39
-
-
Save StGerman/11153ee865c95875135b352840bc7737 to your computer and use it in GitHub Desktop.
Global B2B Braze Integration Slides
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!doctype html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> | |
| <title>Global B2B Braze Integration</title> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/reset.min.css"> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/reveal.min.css"> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/theme/black.min.css"> | |
| <!-- Theme used for syntax highlighted code --> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/highlight/monokai.min.css"> | |
| <style> | |
| .reveal h1, .reveal h2, .reveal h3 { text-transform: none; } | |
| .reveal table { font-size: 0.6em; } | |
| .reveal ul { font-size: 0.8em; } | |
| .reveal .slide-number { font-size: 24px; } | |
| .status-warning { color: #ffeb3b; } | |
| .status-critical { color: #ff5252; } | |
| .attribution { font-size: 0.4em; color: #888; margin-top: 50px; } | |
| </style> | |
| </head> | |
| <body> | |
| <div class="reveal"> | |
| <div class="slides"> | |
| <!-- Slide 1: Title --> | |
| <section> | |
| <h2>Global B2B Braze Integration</h2> | |
| <h3>Current State & User Creation</h3> | |
| <p> | |
| <small>Generated by Ferris 🦀 | February 2026</small> | |
| </p> | |
| </section> | |
| <!-- Slide 2: User Creation Rules --> | |
| <section> | |
| <h3>1. User Creation Rules</h3> | |
| <ul style="text-align: left;"> | |
| <li><strong>Trigger:</strong> Users are created in Braze <span class="status-critical">ONLY</span> when they receive an invite (email/SMS).</li> | |
| <li><strong>Constraint:</strong> If "Invites by SMS and email" is disabled in BO, the user is <strong>never created</strong> in Braze.</li> | |
| <li><strong>Timing:</strong> Real-time upon invite.</li> | |
| <li><strong>Legacy:</strong> <code>BrazeScheduledWorker</code> (hourly sync) is <span class="status-critical">DISABLED</span>.</li> | |
| <li><strong>Note:</strong> Data Team updates existing users but does not create new ones.</li> | |
| </ul> | |
| </section> | |
| <!-- Slide 3: User Attributes --> | |
| <section> | |
| <h3>2. User-Level Attributes</h3> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>Attribute</th> | |
| <th>Notes</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr><td><code>type</code></td><td>Fixed: "User"</td></tr> | |
| <tr><td><code>user_role</code></td><td>e.g., booker, admin</td></tr> | |
| <tr><td><code>user_status</code></td><td><span class="status-warning">Critical for cleanup</span></td></tr> | |
| <tr><td><code>is_contact_person</code></td><td>Boolean</td></tr> | |
| <tr><td><code>num_asap_rides...</code></td><td>Usage counters</td></tr> | |
| <tr><td><code>language</code> / <code>country</code></td><td>Localization</td></tr> | |
| </tbody> | |
| </table> | |
| </section> | |
| <!-- Slide 4: Company Attributes --> | |
| <section> | |
| <h3>3. Company-Level Attributes</h3> | |
| <table> | |
| <thead> | |
| <tr> | |
| <th>Attribute</th> | |
| <th>Notes</th> | |
| </tr> | |
| </thead> | |
| <tbody> | |
| <tr><td><code>company_id</code></td><td>Unique B2B ID</td></tr> | |
| <tr><td><code>B2B_Company_Level</code></td><td>SMB, Corp, Self</td></tr> | |
| <tr><td><code>B2B_Blocked</code></td><td>Debt, Left, Fraud, Migrated</td></tr> | |
| <tr><td><code>company_allow_marketing</code></td><td><span class="status-warning">Compliance Check</span></td></tr> | |
| <tr><td><code>success_manager_name</code></td><td>Assigned GSM</td></tr> | |
| </tbody> | |
| </table> | |
| </section> | |
| <!-- Slide 5: User Status (The Cleanup Key) --> | |
| <section> | |
| <h3>4. User Status & Cleanup</h3> | |
| <p style="text-align: left;"><strong>Field:</strong> <code>user_status</code></p> | |
| <p style="text-align: left;">⚠️ <strong>Warning:</strong> Explicit definitions for all enum values are missing from current docs.</p> | |
| <ul style="text-align: left;"> | |
| <li><strong>Known Value:</strong> <code>active</code> (User valid, can book).</li> | |
| <li><strong>Unknowns:</strong> <code>suspended</code>, <code>deleted</code>, <code>pending</code>?</li> | |
| <li><strong>Action:</strong> We must verify if these states are actively pushed to Braze before the February cleanup.</li> | |
| </ul> | |
| </section> | |
| <!-- Slide 6: Technical & Events --> | |
| <section> | |
| <h3>5. Technical & Events</h3> | |
| <ul style="text-align: left;"> | |
| <li><strong>Event Tracking:</strong> | |
| <ul> | |
| <li><code>bi|global_ride_management|order|Created</code></li> | |
| <li><code>bi|global_ride_management|order|Confirmed</code></li> | |
| <li><code>bi|global_ride_management|order|driving</code></li> | |
| <li><code>bi|global_ride_management|order|Completed</code></li> | |
| </ul> | |
| </li> | |
| <li><strong>Responsibility Split:</strong> | |
| <ul> | |
| <li><strong>Creation:</strong> Backend (global-b2b) via Invites.</li> | |
| <li><strong>Updates:</strong> Data Team (DWH).</li> | |
| </ul> | |
| </li> | |
| </ul> | |
| </section> | |
| </div> | |
| </div> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/reveal.min.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/notes/notes.min.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/markdown/markdown.min.js"></script> | |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/reveal.js/4.5.0/plugin/highlight/highlight.min.js"></script> | |
| <script> | |
| // More info about initialization & config: | |
| // - https://revealjs.com/initialization/ | |
| // - https://revealjs.com/config/ | |
| Reveal.initialize({ | |
| hash: true, | |
| controls: true, | |
| progress: true, | |
| center: true, | |
| // Learn about plugins: https://revealjs.com/plugins/ | |
| plugins: [ RevealMarkdown, RevealHighlight, RevealNotes ] | |
| }); | |
| </script> | |
| </body> | |
| </html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment