-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathintegration-stories.html
More file actions
601 lines (513 loc) · 30.5 KB
/
integration-stories.html
File metadata and controls
601 lines (513 loc) · 30.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Story Library: Head of Integration — Solace SDR Playbook</title>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,wght@0,400;0,500;0,700&family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&display=swap" rel="stylesheet">
<style>
:root {
--bg: #FAFBFC;
--bg-card: #FFFFFF;
--border: #D8DEE4;
--border-light: #E8ECF0;
--text: #1F2328;
--text-mid: #59636E;
--text-dim: #8B949E;
--accent: #00805C;
--accent-bright: #00936E;
--accent-soft: rgba(0, 128, 92, 0.07);
--accent-border: rgba(0, 128, 92, 0.2);
--blue: #0969DA;
--blue-soft: rgba(9, 105, 218, 0.07);
--blue-border: rgba(9, 105, 218, 0.2);
--amber: #9A6700;
--amber-soft: rgba(154, 103, 0, 0.07);
--amber-border: rgba(154, 103, 0, 0.2);
--purple: #8250DF;
--purple-soft: rgba(130, 80, 223, 0.07);
--purple-border: rgba(130, 80, 223, 0.2);
--red: #CF222E;
--red-soft: rgba(207, 34, 46, 0.07);
--red-border: rgba(207, 34, 46, 0.2);
--shadow-sm: 0 1px 2px rgba(31, 35, 40, 0.04);
--shadow-md: 0 2px 8px rgba(31, 35, 40, 0.08);
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: 'DM Sans', sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
padding: 2rem 1.5rem;
max-width: 900px;
margin: 0 auto;
}
.back-link {
display: inline-flex;
align-items: center;
gap: 0.4rem;
font-size: 0.85rem;
color: var(--accent);
text-decoration: none;
margin-bottom: 1.5rem;
font-weight: 500;
}
.back-link:hover { opacity: 0.7; }
.header {
margin-bottom: 2rem;
padding-bottom: 2rem;
border-bottom: 1px solid var(--border-light);
}
.header-label {
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--accent);
margin-bottom: 0.75rem;
}
.header h1 {
font-family: 'Fraunces', serif;
font-size: 2rem;
font-weight: 700;
line-height: 1.2;
margin-bottom: 0.75rem;
}
.header-sub {
font-size: 0.95rem;
color: var(--text-mid);
max-width: 640px;
}
/* How to use */
.how-to-use {
background: var(--blue-soft);
border: 1px solid var(--blue-border);
border-radius: 10px;
padding: 1.25rem 1.5rem;
margin-bottom: 1rem;
}
.how-to-use-title {
font-size: 0.72rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--blue);
margin-bottom: 0.6rem;
}
.how-to-use p {
font-size: 0.9rem;
color: var(--text);
line-height: 1.6;
}
.reminder {
background: var(--accent-soft);
border: 1px solid var(--accent-border);
border-radius: 10px;
padding: 1.25rem 1.5rem;
margin-bottom: 2.5rem;
display: flex;
gap: 0.75rem;
align-items: flex-start;
}
.reminder p {
font-size: 0.9rem;
color: var(--text);
}
.reminder strong { color: var(--accent); }
/* Filter pills */
.filter-bar {
display: flex;
gap: 0.4rem;
margin-bottom: 2rem;
flex-wrap: wrap;
}
.filter-pill {
padding: 0.4rem 0.85rem;
border: 1px solid var(--border);
border-radius: 20px;
font-family: 'DM Sans', sans-serif;
font-size: 0.78rem;
font-weight: 500;
color: var(--text-mid);
background: var(--bg-card);
cursor: pointer;
transition: all 0.15s;
}
.filter-pill:hover {
border-color: var(--accent-border);
color: var(--accent);
}
.filter-pill.active {
background: var(--accent);
color: #fff;
border-color: var(--accent);
}
/* Story cards */
.story-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: 10px;
margin-bottom: 1rem;
box-shadow: var(--shadow-sm);
overflow: hidden;
transition: box-shadow 0.2s;
}
.story-card:hover {
box-shadow: var(--shadow-md);
}
.story-card-header {
padding: 1.25rem 1.5rem;
cursor: pointer;
display: flex;
align-items: flex-start;
gap: 1rem;
user-select: none;
}
.story-card-header:hover { background: #FAFBFC; }
.story-industry-badge {
font-size: 0.68rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
padding: 4px 10px;
border-radius: 5px;
flex-shrink: 0;
margin-top: 2px;
white-space: nowrap;
}
.badge-retail { background: var(--purple-soft); color: var(--purple); border: 1px solid var(--purple-border); }
.badge-energy { background: var(--amber-soft); color: var(--amber); border: 1px solid var(--amber-border); }
.badge-finance { background: var(--blue-soft); color: var(--blue); border: 1px solid var(--blue-border); }
.badge-manufacturing { background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent-border); }
.badge-transport { background: var(--red-soft); color: var(--red); border: 1px solid var(--red-border); }
.badge-telco { background: rgba(100, 100, 100, 0.07); color: #57606A; border: 1px solid rgba(100, 100, 100, 0.2); }
.badge-cpg { background: var(--amber-soft); color: var(--amber); border: 1px solid var(--amber-border); }
.badge-capmarkets { background: var(--blue-soft); color: var(--blue); border: 1px solid var(--blue-border); }
.story-card-main { flex: 1; }
.story-hook {
font-family: 'Fraunces', serif;
font-size: 1.05rem;
font-weight: 600;
color: var(--text);
line-height: 1.4;
margin-bottom: 0.35rem;
}
.story-outcome {
font-size: 0.88rem;
color: var(--text-mid);
line-height: 1.5;
}
.story-toggle {
color: var(--text-dim);
font-size: 1rem;
flex-shrink: 0;
margin-top: 4px;
transition: transform 0.2s;
}
.story-card.open .story-toggle { transform: rotate(180deg); }
.story-card-body {
display: none;
padding: 0 1.5rem 1.5rem;
padding-left: calc(1.5rem + 0px);
border-top: 1px solid var(--border-light);
}
.story-card.open .story-card-body { display: block; }
.story-section-label {
font-size: 0.68rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.08em;
margin-top: 1rem;
margin-bottom: 0.4rem;
display: inline-block;
padding: 3px 8px;
border-radius: 4px;
}
.story-section-label.hook { background: var(--accent-soft); color: var(--accent); border: 1px solid var(--accent-border); }
.story-section-label.outcome { background: var(--blue-soft); color: var(--blue); border: 1px solid var(--blue-border); }
.story-section-label.bridge { background: var(--amber-soft); color: var(--amber); border: 1px solid var(--amber-border); }
.story-section-label.context { background: var(--purple-soft); color: var(--purple); border: 1px solid var(--purple-border); }
.story-script {
font-size: 0.92rem;
color: var(--text);
line-height: 1.7;
margin-bottom: 0.25rem;
}
.highlight { color: var(--accent); font-weight: 600; }
.story-context {
font-size: 0.85rem;
color: var(--text-dim);
line-height: 1.55;
font-style: italic;
}
.footer {
margin-top: 3rem;
padding-top: 1.5rem;
border-top: 1px solid var(--border-light);
text-align: center;
color: var(--text-dim);
font-size: 0.8rem;
}
@media (max-width: 640px) {
body { padding: 1.25rem 1rem; }
.header h1 { font-size: 1.5rem; }
.story-card-header { flex-direction: column; gap: 0.5rem; }
}
</style>
</head>
<body>
<a href="index.html" class="back-link">← Back to Playbook Hub</a>
<div class="header">
<div class="header-label">Solace SDR Playbook — Story Library</div>
<h1>Stories for the Head of Integration</h1>
<p class="header-sub">Business-outcome stories you can tell in 15 seconds. Each one is designed to create curiosity and bridge to the meeting — not to make you the expert.</p>
</div>
<div class="how-to-use">
<div class="how-to-use-title">📖 How to use these stories</div>
<p>These are for when you've been asked "like what?" or "give me an example" mid-call. Pick the story closest to their industry, deliver the hook and outcome, then bridge straight to the meeting. Click any card to see the full script.</p>
</div>
<div class="reminder">
<span>⚡</span>
<p><strong>Remember:</strong> Your job is to secure the meeting, not to be the expert. Tell the story, land the outcome, and hand off to the account team. If they ask a follow-up you can't answer, say: "That's exactly the kind of thing worth digging into — let me get you 20 minutes with our team."</p>
</div>
<div class="filter-bar">
<button class="filter-pill active" onclick="filterStories('all', this)">All industries</button>
<button class="filter-pill" onclick="filterStories('retail', this)">Retail</button>
<button class="filter-pill" onclick="filterStories('energy', this)">Energy</button>
<button class="filter-pill" onclick="filterStories('finance', this)">Finance</button>
<button class="filter-pill" onclick="filterStories('manufacturing', this)">Manufacturing</button>
<button class="filter-pill" onclick="filterStories('transport', this)">Transport</button>
<button class="filter-pill" onclick="filterStories('cpg', this)">CPG</button>
</div>
<!-- STORY 1: Retail — Platform Consolidation -->
<div class="story-card" data-industry="retail" id="s1">
<div class="story-card-header" onclick="toggleStory('s1')">
<span class="story-industry-badge badge-retail">Retail</span>
<div class="story-card-main">
<div class="story-hook">Europe's largest shoe retailer consolidated four integration platforms into one</div>
<div class="story-outcome">3,600 stores, faster time-to-market, lower TCO — and the integration team stopped being the bottleneck.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"One of our customers is Europe's largest shoe retailer — 3,600 stores. Their integration landscape had become so fragmented that every new digital initiative was <span class="highlight">waiting in line for the integration team</span>."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They consolidated onto a single event-driven platform. The result was <span class="highlight">faster time-to-market for new services, lower total cost of ownership, and the integration team went from being a bottleneck to being an enabler</span>."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"I don't know if that's exactly your situation, but if any of that sounds familiar, it's usually worth a 20-minute look at how they did it."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Retailer was running fragmented point-to-point integrations. Adopted event-driven architecture with Solace for omnichannel retail, supply chain, and digitalisation. Reduced operational effort through reusable event APIs and gained governance through Event Portal.</p>
</div>
</div>
<!-- STORY 2: Retail — Revenue Protection -->
<div class="story-card" data-industry="retail" id="s2">
<div class="story-card-header" onclick="toggleStory('s2')">
<span class="story-industry-badge badge-retail">Retail</span>
<div class="story-card-main">
<div class="story-hook">A major apparel brand was losing money because loyalty points were being redeemed multiple times</div>
<div class="story-outcome">They had four integration platforms and no real-time sync — consolidation fixed the revenue leak and the complexity.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A global apparel brand discovered that <span class="highlight">customers were redeeming loyalty points multiple times across different channels</span> — in-store, online, mobile — because their systems weren't syncing in real time."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They were running four different integration platforms — Boomi, MuleSoft, and two SAP tools. They consolidated onto a single platform and got <span class="highlight">real-time sync across every channel. The revenue leak stopped, and they cut their integration licensing costs</span>."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"The interesting thing is they didn't rip anything out overnight — they started with one use case and expanded. That's usually what our team walks people through."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Running Boomi, MuleSoft, CPI Neo, and SAP PI. Fragmented governance, no real-time omnichannel. Loyalty fraud was a direct revenue impact. Consolidated to SAP CI + Solace AEM. Real-time event-driven integration across stores, web, and mobile.</p>
</div>
</div>
<!-- STORY 3: Energy — Legacy Migration -->
<div class="story-card" data-industry="energy" id="s3">
<div class="story-card-header" onclick="toggleStory('s3')">
<span class="story-industry-badge badge-energy">Energy</span>
<div class="story-card-main">
<div class="story-hook">A utility serving 860,000 customers is migrating off BizTalk before it hits end-of-life</div>
<div class="story-outcome">They needed to handle massive data surges during storm events — the old platform couldn't scale for the moments that matter most.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A major US utility provider — 860,000 customers — was running their integration on BizTalk, which hits end-of-life in 2028. But the real driver wasn't just the deadline — it was that <span class="highlight">during storm events, their data volumes surge dramatically, and BizTalk couldn't keep up when it mattered most</span>."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They moved to an event-driven architecture that <span class="highlight">scales automatically during those critical moments</span> — outage notifications, service restoration, real-time updates to customers. And they got ahead of the end-of-life deadline instead of being forced into a last-minute migration."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"If you've got any legacy middleware on the horizon — BizTalk, TIBCO, anything aging — this is the kind of conversation that's usually worth having sooner rather than later."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Tampa Electric (TECO). BizTalk end-of-life 2028. Adopted Boomi Event Streams Enterprise (Solace Cloud). Real-time pub-sub connecting SAP, WorkPro, GEQueue, ADMS. Smart Topics for filtering. Critical need during hurricane season for surge capacity.</p>
</div>
</div>
<!-- STORY 4: Energy — Grid Operations -->
<div class="story-card" data-industry="energy" id="s4">
<div class="story-card-header" onclick="toggleStory('s4')">
<span class="story-industry-badge badge-energy">Energy</span>
<div class="story-card-main">
<div class="story-hook">A national grid operator's integration platform was causing outages that impacted grid operations</div>
<div class="story-outcome">They replaced a fragile point-to-point landscape with an event mesh — and stopped the outages that were putting grid stability at risk.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A national electricity grid operator was running hundreds of integrations on ActiveMQ with point-to-point connections. The problem was <span class="highlight">the broker kept going down — and when your integration platform goes down in a grid operation, that's not an IT issue, that's a public safety issue</span>."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They moved to an event mesh that gave them <span class="highlight">the reliability the grid demanded, plus the ability to add new integrations without creating more fragility</span>. Equipment monitoring, voltage alerts, emergency notifications — all flowing through one resilient platform."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"That's a pretty extreme example, but the underlying challenge — fragile integrations that can't afford to go down — is something a lot of integration teams are dealing with. Worth a conversation?"</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Swissgrid. ActiveMQ with MySQL persistence causing recurring outages. Hundreds of integration services, point-to-point. Replaced with Solace event mesh. Use cases: equipment breakdown alerts, voltage monitoring, emergency notifications, energy trading data.</p>
</div>
</div>
<!-- STORY 5: Transport — Vendor Acquisition Trigger -->
<div class="story-card" data-industry="transport" id="s5">
<div class="story-card-header" onclick="toggleStory('s5')">
<span class="story-industry-badge badge-transport">Transport</span>
<div class="story-card-main">
<div class="story-hook">A global auction platform's messaging vendor got acquired — so they future-proofed before they were forced to</div>
<div class="story-outcome">200+ locations, 11 countries, real-time bidding — they moved proactively and now have a platform that scales without the vendor risk.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A company running real-time auctions across 200 locations in 11 countries had their messaging platform's vendor acquired by IBM. Overnight, <span class="highlight">they had no visibility into the product roadmap, and their entire real-time bidding system was sitting on top of that uncertainty</span>."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They moved proactively to Solace — <span class="highlight">didn't wait for something to break. Now they've got a platform they control, that scales across all their regions, and they're not dependent on another company's acquisition strategy</span>."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"With what's happening with IBM and Confluent right now, that story's resonating with a lot of teams. If it sounds relevant, our team can walk through what that kind of transition actually looks like."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Copart. Running webMethods Nirvana for over a decade. IBM acquired Software AG, creating roadmap uncertainty. Real-time virtual bidding across 4 data centres. Migrated to Solace for vendor independence, multi-region messaging, and scalability. Directly relevant to the IBM/Confluent narrative.</p>
</div>
</div>
<!-- STORY 6: Manufacturing — Fragmented Landscape -->
<div class="story-card" data-industry="manufacturing" id="s6">
<div class="story-card-header" onclick="toggleStory('s6')">
<span class="story-industry-badge badge-manufacturing">Manufacturing</span>
<div class="story-card-main">
<div class="story-hook">A global chemical company had no unified integration strategy — every team used something different</div>
<div class="story-outcome">They went from fragmented and fragile to real-time SAP data access and faster implementation cycles across the organisation.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"One of the world's largest chemical manufacturers had <span class="highlight">no unified integration strategy — different teams were using different tools, and every new project meant building another fragile point-to-point connection</span>."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They adopted an event-driven approach that gave them <span class="highlight">real-time access to SAP data across the organisation, shorter implementation cycles, and a standard platform everyone could build on</span> — without having to rip out what was already running."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"If your landscape looks anything like that — lots of tools, lots of point-to-point — that's exactly the kind of conversation our team has with integration leaders. Worth 20 minutes?"</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Dow Chemical. No strategic integration platform. Multiple broker technologies with no event-driven standard. Adopted Solace to event-enable SAP ECC, connect on-prem to Azure, reduce custom development. Faster time-to-market for digital services.</p>
</div>
</div>
<!-- STORY 7: Manufacturing — Vendor Replacement -->
<div class="story-card" data-industry="manufacturing" id="s7">
<div class="story-card-header" onclick="toggleStory('s7')">
<span class="story-industry-badge badge-manufacturing">Manufacturing</span>
<div class="story-card-main">
<div class="story-hook">A global manufacturer with 400,000+ employees replaced their legacy messaging and went from batch to real-time</div>
<div class="story-outcome">Deployed across data centres, cloud, and factory edge — one platform spanning the entire hybrid landscape.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A major global manufacturer — over 400,000 employees, three business units — was running legacy messaging from Software AG. The problem wasn't just the technology — it was that <span class="highlight">they were stuck in batch mode and couldn't get real-time data to where it needed to be</span> across their data centres, cloud, and factory floors."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They replaced the legacy platform with Solace — <span class="highlight">deployed in their data centres, in the cloud, and at the factory edge. One platform that spans their entire hybrid environment</span>. They went from batch to real-time for production monitoring, master data distribution, and analytics."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"The hybrid piece is what usually resonates with integration leaders — if you're dealing with on-prem and cloud and trying to make them work as one, that's worth a conversation."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Bosch. Replaced Software AG UIM. Deployed across DC, cloud, IoT cloud, and factory edge. Production monitoring, master data distribution, analytics integration. Hybrid/multi-cloud architecture. 429,000 employees, €91.6B revenue.</p>
</div>
</div>
<!-- STORY 8: Finance — Faster Integration Delivery -->
<div class="story-card" data-industry="finance" id="s8">
<div class="story-card-header" onclick="toggleStory('s8')">
<span class="story-industry-badge badge-finance">Finance</span>
<div class="story-card-main">
<div class="story-hook">A bank's integration was so tightly coupled that adding a new vendor took months</div>
<div class="story-outcome">They decoupled their banking platform and went from months to days for new integrations — while migrating to the cloud.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A bank in Latin America had built their entire platform on REST APIs — tightly coupled, hard to change. Every time they needed to <span class="highlight">integrate a new vendor or move a service to the cloud, it was a months-long project</span>."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They introduced event-driven integration alongside their existing APIs — <span class="highlight">decoupled their systems, accelerated their cloud migration, and turned integration from a blocker into something their teams could do with no code</span>."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"If integration speed is something you're thinking about — or if cloud migration is on the roadmap — that's the kind of thing our team loves to dig into."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Banco Ripley. REST/API Gateway architecture was tightly coupled. Needed to decommission physical infra and migrate to AWS. Modifying interfaces was "nearly impossible." Adopted Solace + Boomi for no-code event-driven integration. Hybrid cloud deployment.</p>
</div>
</div>
<!-- STORY 9: Capital Markets — Scale + Consolidation -->
<div class="story-card" data-industry="finance" id="s9">
<div class="story-card-header" onclick="toggleStory('s9')">
<span class="story-industry-badge badge-capmarkets">Capital Markets</span>
<div class="story-card-main">
<div class="story-hook">A global investment bank consolidated three legacy messaging platforms into one — and scaled to 118 billion messages a day</div>
<div class="story-outcome">Reduced costs, eliminated multiple vendor dependencies, and handled a 2x volume spike during COVID without a single outage.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"A global investment bank was running three separate messaging platforms — TIBCO RV, TIBCO EMS, and IBM MQ. <span class="highlight">Three sets of licenses, three sets of expertise, three sets of operational risk.</span>"</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They consolidated onto a single global event mesh. <span class="highlight">Cut costs, reduced vendor dependencies, and when COVID hit and trading volumes doubled — from 65 billion to 118 billion messages a day — they scaled without a single outage.</span> That's the kind of resilience that's hard to put a price on."</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"The consolidation piece is usually what gets integration leaders interested — if you're running multiple messaging platforms, there's a conversation worth having."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">RBC Capital Markets. Consolidated TIBCO RV, TIBCO EMS, and IBM MQ. Global event mesh across financial centres. Scaled from 65B to 118B messages/day during COVID volatility. Microsecond latency. Published proof point.</p>
</div>
</div>
<!-- STORY 10: CPG — Supply Chain -->
<div class="story-card" data-industry="cpg" id="s10">
<div class="story-card-header" onclick="toggleStory('s10')">
<span class="story-industry-badge badge-cpg">CPG</span>
<div class="story-card-main">
<div class="story-hook">A global food company connected their supply chain systems in real-time to stop sending the wrong trucks</div>
<div class="story-outcome">Real-time SAP integration meant the right vehicle shows up at the right location — reducing waste, cost, and customer complaints.</div>
</div>
<span class="story-toggle">▾</span>
</div>
<div class="story-card-body">
<div class="story-section-label hook">The hook — say this</div>
<p class="story-script">"One of the world's largest food companies had a surprisingly simple problem — <span class="highlight">they kept sending the wrong size truck to deliveries. Big trucks to small locations, small trucks to big orders.</span> The root cause was that their supply chain systems weren't talking to each other in real time."</p>
<div class="story-section-label outcome">The business outcome</div>
<p class="story-script">"They connected their SAP system to their transportation and warehousing platforms in real time through Solace. <span class="highlight">Right vehicle, right location, right time. Less waste, lower cost, and their logistics team stopped firefighting.</span>"</p>
<div class="story-section-label bridge">Bridge to the meeting</div>
<p class="story-script">"That started as a single use case — SAP event integration — and grew from there. If you're looking at SAP integration or supply chain connectivity, that's a good conversation to have with our team."</p>
<div class="story-section-label context">Background (for your reference only)</div>
<p class="story-context">Mars. Supply chain modernisation initiative (Polaris). PetCare business unit. SAP orders routed via Solace to 3rd party transportation and warehousing apps. Technology landscape: SAP, MuleSoft, Kinaxis, Azure Data Lake. Started with one use case, expanding across business.</p>
</div>
</div>
<div class="footer">
Solace SDR Playbook — Head of Integration Story Library — Draft v1 · <a href="persona-briefs.html" style="color: var(--accent);">View Persona Brief</a>
</div>
<script>
function toggleStory(id) {
document.getElementById(id).classList.toggle('open');
}
function filterStories(industry, btn) {
document.querySelectorAll('.filter-pill').forEach(p => p.classList.remove('active'));
btn.classList.add('active');
document.querySelectorAll('.story-card').forEach(card => {
if (industry === 'all' || card.dataset.industry === industry) {
card.style.display = 'block';
} else {
card.style.display = 'none';
}
});
}
</script>
</body>
</html>