@firedrill-tools/slack 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +369 -0
  3. package/firedrill/agent.target.json +17 -0
  4. package/firedrill/baseline.scenario.json +5 -0
  5. package/firedrill/bounds.scenario.json +112 -0
  6. package/firedrill/conformance.suite.json +21 -0
  7. package/firedrill/history-unavailable.scenario.json +11 -0
  8. package/firedrill/open-long-handles.scenario.json +263 -0
  9. package/firedrill/open-member-bound.scenario.json +24 -0
  10. package/firedrill/post-rate-limited.scenario.json +11 -0
  11. package/firedrill/response-budget.scenario.json +24 -0
  12. package/firedrill/slack-bounds.drill.json +428 -0
  13. package/firedrill/slack-denied.drill.json +74 -0
  14. package/firedrill/slack-fresh-install.drill.json +132 -0
  15. package/firedrill/slack-history-unavailable.drill.json +83 -0
  16. package/firedrill/slack-invalid-auth.drill.json +408 -0
  17. package/firedrill/slack-mcp-aliases.drill.json +219 -0
  18. package/firedrill/slack-open-long-handles.drill.json +82 -0
  19. package/firedrill/slack-open-member-bound.drill.json +135 -0
  20. package/firedrill/slack-post-rate-limited.drill.json +96 -0
  21. package/firedrill/slack-response-budget.drill.json +118 -0
  22. package/firedrill/slack-thread-many-repliers.drill.json +100 -0
  23. package/firedrill/slack-ts-sequence-full.drill.json +165 -0
  24. package/firedrill/slack-visibility.drill.json +110 -0
  25. package/firedrill/slack-web-api-flow.drill.json +896 -0
  26. package/firedrill/thread-many-repliers.scenario.json +79 -0
  27. package/firedrill/tools/slack/app/assets/ATTRIBUTION.md +40 -0
  28. package/firedrill/tools/slack/app/assets/fonts/OFL.txt +93 -0
  29. package/firedrill/tools/slack/app/assets/fonts/lato-latin-400.woff2 +0 -0
  30. package/firedrill/tools/slack/app/assets/fonts/lato-latin-700.woff2 +0 -0
  31. package/firedrill/tools/slack/app/assets/fonts/lato-latin-900.woff2 +0 -0
  32. package/firedrill/tools/slack/app/assets/slack-wordmark.svg +1 -0
  33. package/firedrill/tools/slack/app/assets/slack.svg +1 -0
  34. package/firedrill/tools/slack/app/site/app.js +2202 -0
  35. package/firedrill/tools/slack/app/site/assets/fonts/lato-latin-400.woff2 +0 -0
  36. package/firedrill/tools/slack/app/site/assets/fonts/lato-latin-700.woff2 +0 -0
  37. package/firedrill/tools/slack/app/site/assets/fonts/lato-latin-900.woff2 +0 -0
  38. package/firedrill/tools/slack/app/site/assets/slack-wordmark.svg +1 -0
  39. package/firedrill/tools/slack/app/site/assets/slack.svg +1 -0
  40. package/firedrill/tools/slack/app/site/chrome.css +73 -0
  41. package/firedrill/tools/slack/app/site/chrome.js +96 -0
  42. package/firedrill/tools/slack/app/site/icons.js +96 -0
  43. package/firedrill/tools/slack/app/site/index.html +253 -0
  44. package/firedrill/tools/slack/app/site/styles.css +2719 -0
  45. package/firedrill/tools/slack/app/site/ui.js +491 -0
  46. package/firedrill/tools/slack/behavior.mjs +1171 -0
  47. package/firedrill/tools/slack/lib/access.mjs +138 -0
  48. package/firedrill/tools/slack/lib/budget.mjs +67 -0
  49. package/firedrill/tools/slack/lib/ids.mjs +146 -0
  50. package/firedrill/tools/slack/lib/search.mjs +172 -0
  51. package/firedrill/tools/slack/lib/wire.mjs +144 -0
  52. package/firedrill/tools/slack/slack.tool.json +6114 -0
  53. package/firedrill/ts-sequence-full.scenario.json +38 -0
  54. package/firedrill/world.json +2008 -0
  55. package/firedrill.json +5 -0
  56. package/package.json +62 -0
  57. package/starter.json +1562 -0
  58. package/test/conformance.mjs +1166 -0
package/starter.json ADDED
@@ -0,0 +1,1562 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "virtualTimeUs": 1789376400000000,
4
+ "state": [
5
+ {
6
+ "action": "upsert",
7
+ "packageId": "slack",
8
+ "namespace": "workspace",
9
+ "rowId": "team",
10
+ "value": {
11
+ "id": "T01EXAMPLE0",
12
+ "name": "Example Team",
13
+ "domain": "example-team",
14
+ "url": "https://example-team.slack.com/",
15
+ "id_sequence": 50,
16
+ "message_sequence": 300
17
+ }
18
+ },
19
+ {
20
+ "action": "upsert",
21
+ "packageId": "slack",
22
+ "namespace": "users",
23
+ "rowId": "U01DANA0001",
24
+ "value": {
25
+ "id": "U01DANA0001",
26
+ "team_id": "T01EXAMPLE0",
27
+ "name": "dana.reyes",
28
+ "real_name": "Dana Reyes",
29
+ "deleted": false,
30
+ "is_bot": false,
31
+ "is_admin": true,
32
+ "is_owner": true,
33
+ "tz": "America/New_York",
34
+ "tz_label": "Eastern Daylight Time",
35
+ "tz_offset": -14400,
36
+ "updated": 1787126400,
37
+ "profile": {
38
+ "real_name": "Dana Reyes",
39
+ "display_name": "dana.reyes",
40
+ "first_name": "Dana",
41
+ "last_name": "Reyes",
42
+ "title": "Engineering Manager",
43
+ "status_text": "",
44
+ "status_emoji": "",
45
+ "image_24": "",
46
+ "image_72": "",
47
+ "email": "dana.reyes@example.test"
48
+ }
49
+ }
50
+ },
51
+ {
52
+ "action": "upsert",
53
+ "packageId": "slack",
54
+ "namespace": "users",
55
+ "rowId": "U01SAM00002",
56
+ "value": {
57
+ "id": "U01SAM00002",
58
+ "team_id": "T01EXAMPLE0",
59
+ "name": "sam.okafor",
60
+ "real_name": "Sam Okafor",
61
+ "deleted": false,
62
+ "is_bot": false,
63
+ "is_admin": false,
64
+ "is_owner": false,
65
+ "tz": "Europe/London",
66
+ "tz_label": "British Summer Time",
67
+ "tz_offset": 3600,
68
+ "updated": 1787126400,
69
+ "profile": {
70
+ "real_name": "Sam Okafor",
71
+ "display_name": "sam.okafor",
72
+ "first_name": "Sam",
73
+ "last_name": "Okafor",
74
+ "title": "Backend Engineer",
75
+ "status_text": "",
76
+ "status_emoji": "",
77
+ "image_24": "",
78
+ "image_72": "",
79
+ "email": "sam.okafor@example.test"
80
+ }
81
+ }
82
+ },
83
+ {
84
+ "action": "upsert",
85
+ "packageId": "slack",
86
+ "namespace": "users",
87
+ "rowId": "U01PRIYA003",
88
+ "value": {
89
+ "id": "U01PRIYA003",
90
+ "team_id": "T01EXAMPLE0",
91
+ "name": "priya.n",
92
+ "real_name": "Priya Natarajan",
93
+ "deleted": false,
94
+ "is_bot": false,
95
+ "is_admin": false,
96
+ "is_owner": false,
97
+ "tz": "Europe/Berlin",
98
+ "tz_label": "Central European Summer Time",
99
+ "tz_offset": 7200,
100
+ "updated": 1787126400,
101
+ "profile": {
102
+ "real_name": "Priya Natarajan",
103
+ "display_name": "priya.n",
104
+ "first_name": "Priya",
105
+ "last_name": "Natarajan",
106
+ "title": "Contractor",
107
+ "status_text": "",
108
+ "status_emoji": "",
109
+ "image_24": "",
110
+ "image_72": "",
111
+ "email": "priya.n@example.test"
112
+ }
113
+ }
114
+ },
115
+ {
116
+ "action": "upsert",
117
+ "packageId": "slack",
118
+ "namespace": "users",
119
+ "rowId": "U01LEE00004",
120
+ "value": {
121
+ "id": "U01LEE00004",
122
+ "team_id": "T01EXAMPLE0",
123
+ "name": "lee.marsh",
124
+ "real_name": "Lee Marsh",
125
+ "deleted": true,
126
+ "is_bot": false,
127
+ "is_admin": false,
128
+ "is_owner": false,
129
+ "tz": "America/Los_Angeles",
130
+ "tz_label": "Pacific Daylight Time",
131
+ "tz_offset": -25200,
132
+ "updated": 1787126400,
133
+ "profile": {
134
+ "real_name": "Lee Marsh",
135
+ "display_name": "lee.marsh",
136
+ "first_name": "Lee",
137
+ "last_name": "Marsh",
138
+ "title": "Former Designer",
139
+ "status_text": "",
140
+ "status_emoji": "",
141
+ "image_24": "",
142
+ "image_72": "",
143
+ "email": "lee.marsh@example.test"
144
+ }
145
+ }
146
+ },
147
+ {
148
+ "action": "upsert",
149
+ "packageId": "slack",
150
+ "namespace": "users",
151
+ "rowId": "U01OPSBOT05",
152
+ "value": {
153
+ "id": "U01OPSBOT05",
154
+ "team_id": "T01EXAMPLE0",
155
+ "name": "opsbot",
156
+ "real_name": "Ops Bot",
157
+ "deleted": false,
158
+ "is_bot": true,
159
+ "is_admin": false,
160
+ "is_owner": false,
161
+ "tz": "Etc/UTC",
162
+ "tz_label": "Coordinated Universal Time",
163
+ "tz_offset": 0,
164
+ "updated": 1787126400,
165
+ "bot_id": "B01OPSBOT01",
166
+ "profile": {
167
+ "real_name": "Ops Bot",
168
+ "display_name": "opsbot",
169
+ "first_name": "Ops",
170
+ "last_name": "Bot",
171
+ "title": "Deployment and alerting bot",
172
+ "status_text": "",
173
+ "status_emoji": "",
174
+ "image_24": "",
175
+ "image_72": ""
176
+ }
177
+ }
178
+ },
179
+ {
180
+ "action": "upsert",
181
+ "packageId": "slack",
182
+ "namespace": "users",
183
+ "rowId": "U01MIRA0006",
184
+ "value": {
185
+ "id": "U01MIRA0006",
186
+ "team_id": "T01EXAMPLE0",
187
+ "name": "mira.chen",
188
+ "real_name": "Mira Chen",
189
+ "deleted": false,
190
+ "is_bot": false,
191
+ "is_admin": false,
192
+ "is_owner": false,
193
+ "tz": "Asia/Singapore",
194
+ "tz_label": "Singapore Standard Time",
195
+ "tz_offset": 28800,
196
+ "updated": 1787126400,
197
+ "profile": {
198
+ "real_name": "Mira Chen",
199
+ "display_name": "mira.chen",
200
+ "first_name": "Mira",
201
+ "last_name": "Chen",
202
+ "title": "Platform Engineer",
203
+ "status_text": "Out until Sept 16",
204
+ "status_emoji": ":palm_tree:",
205
+ "image_24": "",
206
+ "image_72": "",
207
+ "email": "mira.chen@example.test"
208
+ }
209
+ }
210
+ },
211
+ {
212
+ "action": "upsert",
213
+ "packageId": "slack",
214
+ "namespace": "conversations",
215
+ "rowId": "C01GENERAL1",
216
+ "value": {
217
+ "name": "general",
218
+ "is_channel": true,
219
+ "is_group": false,
220
+ "is_im": false,
221
+ "is_mpim": false,
222
+ "is_private": false,
223
+ "is_archived": false,
224
+ "is_general": true,
225
+ "created": 1787216400,
226
+ "creator": "U01DANA0001",
227
+ "topic": {
228
+ "value": "Company-wide announcements",
229
+ "creator": "U01DANA0001",
230
+ "last_set": 1787216460
231
+ },
232
+ "purpose": {
233
+ "value": "This channel is for team-wide communication and announcements. All team members are in this channel.",
234
+ "creator": "U01DANA0001",
235
+ "last_set": 1787216400
236
+ },
237
+ "updated": 1787216400000,
238
+ "id": "C01GENERAL1",
239
+ "name_normalized": "general"
240
+ }
241
+ },
242
+ {
243
+ "action": "upsert",
244
+ "packageId": "slack",
245
+ "namespace": "memberships",
246
+ "rowId": "C01GENERAL1:U01DANA0001",
247
+ "value": {
248
+ "channel": "C01GENERAL1",
249
+ "user": "U01DANA0001",
250
+ "joined": 1787216400
251
+ }
252
+ },
253
+ {
254
+ "action": "upsert",
255
+ "packageId": "slack",
256
+ "namespace": "memberships",
257
+ "rowId": "C01GENERAL1:U01SAM00002",
258
+ "value": {
259
+ "channel": "C01GENERAL1",
260
+ "user": "U01SAM00002",
261
+ "joined": 1787216400
262
+ }
263
+ },
264
+ {
265
+ "action": "upsert",
266
+ "packageId": "slack",
267
+ "namespace": "memberships",
268
+ "rowId": "C01GENERAL1:U01PRIYA003",
269
+ "value": {
270
+ "channel": "C01GENERAL1",
271
+ "user": "U01PRIYA003",
272
+ "joined": 1787216400
273
+ }
274
+ },
275
+ {
276
+ "action": "upsert",
277
+ "packageId": "slack",
278
+ "namespace": "memberships",
279
+ "rowId": "C01GENERAL1:U01MIRA0006",
280
+ "value": {
281
+ "channel": "C01GENERAL1",
282
+ "user": "U01MIRA0006",
283
+ "joined": 1787216400
284
+ }
285
+ },
286
+ {
287
+ "action": "upsert",
288
+ "packageId": "slack",
289
+ "namespace": "memberships",
290
+ "rowId": "C01GENERAL1:U01OPSBOT05",
291
+ "value": {
292
+ "channel": "C01GENERAL1",
293
+ "user": "U01OPSBOT05",
294
+ "joined": 1787216400
295
+ }
296
+ },
297
+ {
298
+ "action": "upsert",
299
+ "packageId": "slack",
300
+ "namespace": "conversations",
301
+ "rowId": "C01ENGINEER",
302
+ "value": {
303
+ "name": "engineering",
304
+ "is_channel": true,
305
+ "is_group": false,
306
+ "is_im": false,
307
+ "is_mpim": false,
308
+ "is_private": false,
309
+ "is_archived": false,
310
+ "is_general": false,
311
+ "created": 1787217000,
312
+ "creator": "U01DANA0001",
313
+ "topic": {
314
+ "value": "Next deploy window: Tue 2026-09-16",
315
+ "creator": "U01DANA0001",
316
+ "last_set": 1789116660
317
+ },
318
+ "purpose": {
319
+ "value": "Engineering discussion, deploy coordination and build notifications.",
320
+ "creator": "U01DANA0001",
321
+ "last_set": 1787217000
322
+ },
323
+ "updated": 1787217000000,
324
+ "id": "C01ENGINEER",
325
+ "name_normalized": "engineering"
326
+ }
327
+ },
328
+ {
329
+ "action": "upsert",
330
+ "packageId": "slack",
331
+ "namespace": "memberships",
332
+ "rowId": "C01ENGINEER:U01DANA0001",
333
+ "value": {
334
+ "channel": "C01ENGINEER",
335
+ "user": "U01DANA0001",
336
+ "joined": 1787217000
337
+ }
338
+ },
339
+ {
340
+ "action": "upsert",
341
+ "packageId": "slack",
342
+ "namespace": "memberships",
343
+ "rowId": "C01ENGINEER:U01SAM00002",
344
+ "value": {
345
+ "channel": "C01ENGINEER",
346
+ "user": "U01SAM00002",
347
+ "joined": 1787217000
348
+ }
349
+ },
350
+ {
351
+ "action": "upsert",
352
+ "packageId": "slack",
353
+ "namespace": "memberships",
354
+ "rowId": "C01ENGINEER:U01MIRA0006",
355
+ "value": {
356
+ "channel": "C01ENGINEER",
357
+ "user": "U01MIRA0006",
358
+ "joined": 1787217000
359
+ }
360
+ },
361
+ {
362
+ "action": "upsert",
363
+ "packageId": "slack",
364
+ "namespace": "memberships",
365
+ "rowId": "C01ENGINEER:U01OPSBOT05",
366
+ "value": {
367
+ "channel": "C01ENGINEER",
368
+ "user": "U01OPSBOT05",
369
+ "joined": 1787217000
370
+ }
371
+ },
372
+ {
373
+ "action": "upsert",
374
+ "packageId": "slack",
375
+ "namespace": "conversations",
376
+ "rowId": "C01INCIDENT",
377
+ "value": {
378
+ "name": "incidents",
379
+ "is_channel": true,
380
+ "is_group": false,
381
+ "is_im": false,
382
+ "is_mpim": false,
383
+ "is_private": true,
384
+ "is_archived": false,
385
+ "is_general": false,
386
+ "created": 1787217600,
387
+ "creator": "U01SAM00002",
388
+ "topic": {
389
+ "value": "",
390
+ "creator": "",
391
+ "last_set": 0
392
+ },
393
+ "purpose": {
394
+ "value": "Private incident response coordination.",
395
+ "creator": "U01SAM00002",
396
+ "last_set": 1787217600
397
+ },
398
+ "updated": 1787217600000,
399
+ "id": "C01INCIDENT",
400
+ "name_normalized": "incidents"
401
+ }
402
+ },
403
+ {
404
+ "action": "upsert",
405
+ "packageId": "slack",
406
+ "namespace": "memberships",
407
+ "rowId": "C01INCIDENT:U01DANA0001",
408
+ "value": {
409
+ "channel": "C01INCIDENT",
410
+ "user": "U01DANA0001",
411
+ "joined": 1787217600
412
+ }
413
+ },
414
+ {
415
+ "action": "upsert",
416
+ "packageId": "slack",
417
+ "namespace": "memberships",
418
+ "rowId": "C01INCIDENT:U01SAM00002",
419
+ "value": {
420
+ "channel": "C01INCIDENT",
421
+ "user": "U01SAM00002",
422
+ "joined": 1787217600
423
+ }
424
+ },
425
+ {
426
+ "action": "upsert",
427
+ "packageId": "slack",
428
+ "namespace": "memberships",
429
+ "rowId": "C01INCIDENT:U01OPSBOT05",
430
+ "value": {
431
+ "channel": "C01INCIDENT",
432
+ "user": "U01OPSBOT05",
433
+ "joined": 1787217600
434
+ }
435
+ },
436
+ {
437
+ "action": "upsert",
438
+ "packageId": "slack",
439
+ "namespace": "conversations",
440
+ "rowId": "C01RANDOM01",
441
+ "value": {
442
+ "name": "random",
443
+ "is_channel": true,
444
+ "is_group": false,
445
+ "is_im": false,
446
+ "is_mpim": false,
447
+ "is_private": false,
448
+ "is_archived": false,
449
+ "is_general": false,
450
+ "created": 1787216520,
451
+ "creator": "U01DANA0001",
452
+ "topic": {
453
+ "value": "",
454
+ "creator": "",
455
+ "last_set": 0
456
+ },
457
+ "purpose": {
458
+ "value": "Non-work banter and water cooler conversation.",
459
+ "creator": "U01DANA0001",
460
+ "last_set": 1787216520
461
+ },
462
+ "updated": 1787216520000,
463
+ "id": "C01RANDOM01",
464
+ "name_normalized": "random"
465
+ }
466
+ },
467
+ {
468
+ "action": "upsert",
469
+ "packageId": "slack",
470
+ "namespace": "memberships",
471
+ "rowId": "C01RANDOM01:U01DANA0001",
472
+ "value": {
473
+ "channel": "C01RANDOM01",
474
+ "user": "U01DANA0001",
475
+ "joined": 1787216520
476
+ }
477
+ },
478
+ {
479
+ "action": "upsert",
480
+ "packageId": "slack",
481
+ "namespace": "memberships",
482
+ "rowId": "C01RANDOM01:U01SAM00002",
483
+ "value": {
484
+ "channel": "C01RANDOM01",
485
+ "user": "U01SAM00002",
486
+ "joined": 1787216520
487
+ }
488
+ },
489
+ {
490
+ "action": "upsert",
491
+ "packageId": "slack",
492
+ "namespace": "memberships",
493
+ "rowId": "C01RANDOM01:U01PRIYA003",
494
+ "value": {
495
+ "channel": "C01RANDOM01",
496
+ "user": "U01PRIYA003",
497
+ "joined": 1787216520
498
+ }
499
+ },
500
+ {
501
+ "action": "upsert",
502
+ "packageId": "slack",
503
+ "namespace": "memberships",
504
+ "rowId": "C01RANDOM01:U01MIRA0006",
505
+ "value": {
506
+ "channel": "C01RANDOM01",
507
+ "user": "U01MIRA0006",
508
+ "joined": 1787216520
509
+ }
510
+ },
511
+ {
512
+ "action": "upsert",
513
+ "packageId": "slack",
514
+ "namespace": "memberships",
515
+ "rowId": "C01RANDOM01:U01OPSBOT05",
516
+ "value": {
517
+ "channel": "C01RANDOM01",
518
+ "user": "U01OPSBOT05",
519
+ "joined": 1787216520
520
+ }
521
+ },
522
+ {
523
+ "action": "upsert",
524
+ "packageId": "slack",
525
+ "namespace": "conversations",
526
+ "rowId": "C01LAUNCHQ3",
527
+ "value": {
528
+ "name": "launch-q3",
529
+ "is_channel": true,
530
+ "is_group": false,
531
+ "is_im": false,
532
+ "is_mpim": false,
533
+ "is_private": false,
534
+ "is_archived": true,
535
+ "is_general": false,
536
+ "created": 1787220000,
537
+ "creator": "U01MIRA0006",
538
+ "topic": {
539
+ "value": "",
540
+ "creator": "",
541
+ "last_set": 0
542
+ },
543
+ "purpose": {
544
+ "value": "",
545
+ "creator": "",
546
+ "last_set": 0
547
+ },
548
+ "updated": 1787308260000,
549
+ "id": "C01LAUNCHQ3",
550
+ "name_normalized": "launch-q3"
551
+ }
552
+ },
553
+ {
554
+ "action": "upsert",
555
+ "packageId": "slack",
556
+ "namespace": "memberships",
557
+ "rowId": "C01LAUNCHQ3:U01DANA0001",
558
+ "value": {
559
+ "channel": "C01LAUNCHQ3",
560
+ "user": "U01DANA0001",
561
+ "joined": 1787220000
562
+ }
563
+ },
564
+ {
565
+ "action": "upsert",
566
+ "packageId": "slack",
567
+ "namespace": "memberships",
568
+ "rowId": "C01LAUNCHQ3:U01MIRA0006",
569
+ "value": {
570
+ "channel": "C01LAUNCHQ3",
571
+ "user": "U01MIRA0006",
572
+ "joined": 1787220000
573
+ }
574
+ },
575
+ {
576
+ "action": "upsert",
577
+ "packageId": "slack",
578
+ "namespace": "conversations",
579
+ "rowId": "C01DESIGN01",
580
+ "value": {
581
+ "name": "design",
582
+ "is_channel": true,
583
+ "is_group": false,
584
+ "is_im": false,
585
+ "is_mpim": false,
586
+ "is_private": false,
587
+ "is_archived": false,
588
+ "is_general": false,
589
+ "created": 1787385600,
590
+ "creator": "U01MIRA0006",
591
+ "topic": {
592
+ "value": "",
593
+ "creator": "",
594
+ "last_set": 0
595
+ },
596
+ "purpose": {
597
+ "value": "Design reviews and mockups.",
598
+ "creator": "U01MIRA0006",
599
+ "last_set": 1787385600
600
+ },
601
+ "updated": 1787385600000,
602
+ "id": "C01DESIGN01",
603
+ "name_normalized": "design"
604
+ }
605
+ },
606
+ {
607
+ "action": "upsert",
608
+ "packageId": "slack",
609
+ "namespace": "memberships",
610
+ "rowId": "C01DESIGN01:U01SAM00002",
611
+ "value": {
612
+ "channel": "C01DESIGN01",
613
+ "user": "U01SAM00002",
614
+ "joined": 1787385600
615
+ }
616
+ },
617
+ {
618
+ "action": "upsert",
619
+ "packageId": "slack",
620
+ "namespace": "memberships",
621
+ "rowId": "C01DESIGN01:U01MIRA0006",
622
+ "value": {
623
+ "channel": "C01DESIGN01",
624
+ "user": "U01MIRA0006",
625
+ "joined": 1787385600
626
+ }
627
+ },
628
+ {
629
+ "action": "upsert",
630
+ "packageId": "slack",
631
+ "namespace": "conversations",
632
+ "rowId": "C01LEADERS1",
633
+ "value": {
634
+ "name": "leadership",
635
+ "is_channel": true,
636
+ "is_group": false,
637
+ "is_im": false,
638
+ "is_mpim": false,
639
+ "is_private": true,
640
+ "is_archived": false,
641
+ "is_general": false,
642
+ "created": 1787387400,
643
+ "creator": "U01SAM00002",
644
+ "topic": {
645
+ "value": "",
646
+ "creator": "",
647
+ "last_set": 0
648
+ },
649
+ "purpose": {
650
+ "value": "",
651
+ "creator": "",
652
+ "last_set": 0
653
+ },
654
+ "updated": 1787387400000,
655
+ "id": "C01LEADERS1",
656
+ "name_normalized": "leadership"
657
+ }
658
+ },
659
+ {
660
+ "action": "upsert",
661
+ "packageId": "slack",
662
+ "namespace": "memberships",
663
+ "rowId": "C01LEADERS1:U01SAM00002",
664
+ "value": {
665
+ "channel": "C01LEADERS1",
666
+ "user": "U01SAM00002",
667
+ "joined": 1787387400
668
+ }
669
+ },
670
+ {
671
+ "action": "upsert",
672
+ "packageId": "slack",
673
+ "namespace": "memberships",
674
+ "rowId": "C01LEADERS1:U01MIRA0006",
675
+ "value": {
676
+ "channel": "C01LEADERS1",
677
+ "user": "U01MIRA0006",
678
+ "joined": 1787387400
679
+ }
680
+ },
681
+ {
682
+ "action": "upsert",
683
+ "packageId": "slack",
684
+ "namespace": "conversations",
685
+ "rowId": "D01DANASAM1",
686
+ "value": {
687
+ "name": "",
688
+ "is_channel": false,
689
+ "is_group": false,
690
+ "is_im": true,
691
+ "is_mpim": false,
692
+ "is_private": true,
693
+ "is_archived": false,
694
+ "is_general": false,
695
+ "created": 1787223600,
696
+ "creator": "",
697
+ "topic": {
698
+ "value": "",
699
+ "creator": "",
700
+ "last_set": 0
701
+ },
702
+ "purpose": {
703
+ "value": "",
704
+ "creator": "",
705
+ "last_set": 0
706
+ },
707
+ "updated": 1787223600000,
708
+ "user": "U01SAM00002",
709
+ "id": "D01DANASAM1",
710
+ "name_normalized": ""
711
+ }
712
+ },
713
+ {
714
+ "action": "upsert",
715
+ "packageId": "slack",
716
+ "namespace": "memberships",
717
+ "rowId": "D01DANASAM1:U01DANA0001",
718
+ "value": {
719
+ "channel": "D01DANASAM1",
720
+ "user": "U01DANA0001",
721
+ "joined": 1787223600
722
+ }
723
+ },
724
+ {
725
+ "action": "upsert",
726
+ "packageId": "slack",
727
+ "namespace": "memberships",
728
+ "rowId": "D01DANASAM1:U01SAM00002",
729
+ "value": {
730
+ "channel": "D01DANASAM1",
731
+ "user": "U01SAM00002",
732
+ "joined": 1787223600
733
+ }
734
+ },
735
+ {
736
+ "action": "upsert",
737
+ "packageId": "slack",
738
+ "namespace": "conversations",
739
+ "rowId": "C01MPDM0001",
740
+ "value": {
741
+ "name": "mpdm-dana.reyes--mira.chen--sam.okafor-1",
742
+ "is_channel": false,
743
+ "is_group": false,
744
+ "is_im": false,
745
+ "is_mpim": true,
746
+ "is_private": true,
747
+ "is_archived": false,
748
+ "is_general": false,
749
+ "created": 1789127940,
750
+ "creator": "U01DANA0001",
751
+ "topic": {
752
+ "value": "",
753
+ "creator": "",
754
+ "last_set": 0
755
+ },
756
+ "purpose": {
757
+ "value": "",
758
+ "creator": "",
759
+ "last_set": 0
760
+ },
761
+ "updated": 1789127940000,
762
+ "id": "C01MPDM0001",
763
+ "name_normalized": "mpdm-dana.reyes--mira.chen--sam.okafor-1"
764
+ }
765
+ },
766
+ {
767
+ "action": "upsert",
768
+ "packageId": "slack",
769
+ "namespace": "memberships",
770
+ "rowId": "C01MPDM0001:U01DANA0001",
771
+ "value": {
772
+ "channel": "C01MPDM0001",
773
+ "user": "U01DANA0001",
774
+ "joined": 1789127940
775
+ }
776
+ },
777
+ {
778
+ "action": "upsert",
779
+ "packageId": "slack",
780
+ "namespace": "memberships",
781
+ "rowId": "C01MPDM0001:U01SAM00002",
782
+ "value": {
783
+ "channel": "C01MPDM0001",
784
+ "user": "U01SAM00002",
785
+ "joined": 1789127940
786
+ }
787
+ },
788
+ {
789
+ "action": "upsert",
790
+ "packageId": "slack",
791
+ "namespace": "memberships",
792
+ "rowId": "C01MPDM0001:U01MIRA0006",
793
+ "value": {
794
+ "channel": "C01MPDM0001",
795
+ "user": "U01MIRA0006",
796
+ "joined": 1789127940
797
+ }
798
+ },
799
+ {
800
+ "action": "upsert",
801
+ "packageId": "slack",
802
+ "namespace": "conversations",
803
+ "rowId": "C01ONBOARD1",
804
+ "value": {
805
+ "name": "onboarding",
806
+ "is_channel": true,
807
+ "is_group": false,
808
+ "is_im": false,
809
+ "is_mpim": false,
810
+ "is_private": false,
811
+ "is_archived": false,
812
+ "is_general": false,
813
+ "created": 1789200000,
814
+ "creator": "U01DANA0001",
815
+ "topic": {
816
+ "value": "",
817
+ "creator": "",
818
+ "last_set": 0
819
+ },
820
+ "purpose": {
821
+ "value": "Help for new joiners.",
822
+ "creator": "U01DANA0001",
823
+ "last_set": 1789200000
824
+ },
825
+ "updated": 1789200000000,
826
+ "id": "C01ONBOARD1",
827
+ "name_normalized": "onboarding"
828
+ }
829
+ },
830
+ {
831
+ "action": "upsert",
832
+ "packageId": "slack",
833
+ "namespace": "memberships",
834
+ "rowId": "C01ONBOARD1:U01DANA0001",
835
+ "value": {
836
+ "channel": "C01ONBOARD1",
837
+ "user": "U01DANA0001",
838
+ "joined": 1789200000
839
+ }
840
+ },
841
+ {
842
+ "action": "upsert",
843
+ "packageId": "slack",
844
+ "namespace": "memberships",
845
+ "rowId": "C01ONBOARD1:U01MIRA0006",
846
+ "value": {
847
+ "channel": "C01ONBOARD1",
848
+ "user": "U01MIRA0006",
849
+ "joined": 1789200000
850
+ }
851
+ },
852
+ {
853
+ "action": "upsert",
854
+ "packageId": "slack",
855
+ "namespace": "messages",
856
+ "rowId": "C01GENERAL1:1787216400.000101",
857
+ "value": {
858
+ "channel": "C01GENERAL1",
859
+ "ts": "1787216400.000101",
860
+ "type": "message",
861
+ "user": "U01DANA0001",
862
+ "text": "Welcome to Example Team! This is #general — company-wide announcements only. Please keep discussion in the topic channels.",
863
+ "reactions": [],
864
+ "permalink": "https://example-team.slack.com/archives/C01GENERAL1/p1787216400000101",
865
+ "team": "T01EXAMPLE0",
866
+ "pinned_to": [
867
+ "C01GENERAL1"
868
+ ]
869
+ }
870
+ },
871
+ {
872
+ "action": "upsert",
873
+ "packageId": "slack",
874
+ "namespace": "messages",
875
+ "rowId": "C01GENERAL1:1788249600.000102",
876
+ "value": {
877
+ "channel": "C01GENERAL1",
878
+ "ts": "1788249600.000102",
879
+ "type": "message",
880
+ "user": "U01OPSBOT05",
881
+ "text": "Reminder: the monthly all-hands is on Thursday at 15:00 UTC.",
882
+ "reactions": [],
883
+ "permalink": "https://example-team.slack.com/archives/C01GENERAL1/p1788249600000102",
884
+ "team": "T01EXAMPLE0",
885
+ "subtype": "bot_message",
886
+ "bot_id": "B01OPSBOT01"
887
+ }
888
+ },
889
+ {
890
+ "action": "upsert",
891
+ "packageId": "slack",
892
+ "namespace": "messages",
893
+ "rowId": "C01GENERAL1:1789036200.000103",
894
+ "value": {
895
+ "channel": "C01GENERAL1",
896
+ "ts": "1789036200.000103",
897
+ "type": "message",
898
+ "user": "U01MIRA0006",
899
+ "text": "Heads-up: I'm out Sept 14–16, Sam covers on-call.",
900
+ "reactions": [
901
+ {
902
+ "name": "wave",
903
+ "users": [
904
+ "U01SAM00002"
905
+ ],
906
+ "count": 1
907
+ }
908
+ ],
909
+ "permalink": "https://example-team.slack.com/archives/C01GENERAL1/p1789036200000103",
910
+ "team": "T01EXAMPLE0"
911
+ }
912
+ },
913
+ {
914
+ "action": "upsert",
915
+ "packageId": "slack",
916
+ "namespace": "messages",
917
+ "rowId": "C01ENGINEER:1787561880.000119",
918
+ "value": {
919
+ "channel": "C01ENGINEER",
920
+ "ts": "1787561880.000119",
921
+ "type": "message",
922
+ "user": "U01OPSBOT05",
923
+ "text": "<@U01OPSBOT05> has joined the channel",
924
+ "reactions": [],
925
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787561880000119",
926
+ "team": "T01EXAMPLE0",
927
+ "subtype": "channel_join",
928
+ "bot_id": "B01OPSBOT01"
929
+ }
930
+ },
931
+ {
932
+ "action": "upsert",
933
+ "packageId": "slack",
934
+ "namespace": "messages",
935
+ "rowId": "C01ENGINEER:1787562900.000120",
936
+ "value": {
937
+ "channel": "C01ENGINEER",
938
+ "ts": "1787562900.000120",
939
+ "type": "message",
940
+ "user": "U01SAM00002",
941
+ "text": "Kicking off the payments-service migration this week. Design doc is in the shared drive.",
942
+ "reactions": [],
943
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787562900000120",
944
+ "team": "T01EXAMPLE0",
945
+ "thread_ts": "1787562900.000120",
946
+ "reply_count": 4,
947
+ "reply_users": [
948
+ "U01DANA0001",
949
+ "U01MIRA0006",
950
+ "U01OPSBOT05"
951
+ ],
952
+ "reply_users_count": 3,
953
+ "latest_reply": "1787669100.000124"
954
+ }
955
+ },
956
+ {
957
+ "action": "upsert",
958
+ "packageId": "slack",
959
+ "namespace": "messages",
960
+ "rowId": "C01ENGINEER:1787564400.000121",
961
+ "value": {
962
+ "channel": "C01ENGINEER",
963
+ "ts": "1787564400.000121",
964
+ "type": "message",
965
+ "user": "U01DANA0001",
966
+ "text": "Great — let's make sure the postgres schema changes are backwards compatible.",
967
+ "reactions": [],
968
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787564400000121",
969
+ "team": "T01EXAMPLE0",
970
+ "thread_ts": "1787562900.000120"
971
+ }
972
+ },
973
+ {
974
+ "action": "upsert",
975
+ "packageId": "slack",
976
+ "namespace": "messages",
977
+ "rowId": "C01ENGINEER:1787565900.000122",
978
+ "value": {
979
+ "channel": "C01ENGINEER",
980
+ "ts": "1787565900.000122",
981
+ "type": "message",
982
+ "user": "U01MIRA0006",
983
+ "text": "I can review the migration scripts tomorrow.",
984
+ "reactions": [],
985
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787565900000122",
986
+ "team": "T01EXAMPLE0",
987
+ "thread_ts": "1787562900.000120"
988
+ }
989
+ },
990
+ {
991
+ "action": "upsert",
992
+ "packageId": "slack",
993
+ "namespace": "messages",
994
+ "rowId": "C01ENGINEER:1787667600.000123",
995
+ "value": {
996
+ "channel": "C01ENGINEER",
997
+ "ts": "1787667600.000123",
998
+ "type": "message",
999
+ "user": "U01MIRA0006",
1000
+ "text": "Update for everyone: the migration is scheduled for Thursday's deploy window.",
1001
+ "reactions": [],
1002
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787667600000123",
1003
+ "team": "T01EXAMPLE0",
1004
+ "thread_ts": "1787562900.000120",
1005
+ "subtype": "thread_broadcast"
1006
+ }
1007
+ },
1008
+ {
1009
+ "action": "upsert",
1010
+ "packageId": "slack",
1011
+ "namespace": "messages",
1012
+ "rowId": "C01ENGINEER:1787669100.000124",
1013
+ "value": {
1014
+ "channel": "C01ENGINEER",
1015
+ "ts": "1787669100.000124",
1016
+ "type": "message",
1017
+ "user": "U01OPSBOT05",
1018
+ "text": "Change ticket CHG-2041 created for the Thursday window.",
1019
+ "reactions": [],
1020
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787669100000124",
1021
+ "team": "T01EXAMPLE0",
1022
+ "thread_ts": "1787562900.000120",
1023
+ "subtype": "bot_message",
1024
+ "bot_id": "B01OPSBOT01"
1025
+ }
1026
+ },
1027
+ {
1028
+ "action": "upsert",
1029
+ "packageId": "slack",
1030
+ "namespace": "messages",
1031
+ "rowId": "C01ENGINEER:1787828400.000125",
1032
+ "value": {
1033
+ "channel": "C01ENGINEER",
1034
+ "ts": "1787828400.000125",
1035
+ "type": "message",
1036
+ "user": "U01DANA0001",
1037
+ "text": "Deploy checklist for Thursday: freeze at 14:00 UTC, smoke tests, then announce in #general.",
1038
+ "reactions": [
1039
+ {
1040
+ "name": "+1",
1041
+ "users": [
1042
+ "U01SAM00002",
1043
+ "U01MIRA0006"
1044
+ ],
1045
+ "count": 2
1046
+ }
1047
+ ],
1048
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787828400000125",
1049
+ "team": "T01EXAMPLE0"
1050
+ }
1051
+ },
1052
+ {
1053
+ "action": "upsert",
1054
+ "packageId": "slack",
1055
+ "namespace": "messages",
1056
+ "rowId": "C01ENGINEER:1787934600.000126",
1057
+ "value": {
1058
+ "channel": "C01ENGINEER",
1059
+ "ts": "1787934600.000126",
1060
+ "type": "message",
1061
+ "user": "U01SAM00002",
1062
+ "text": "Deploy went out cleanly. Error rate flat, p95 latency down 8%.",
1063
+ "reactions": [],
1064
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1787934600000126",
1065
+ "team": "T01EXAMPLE0"
1066
+ }
1067
+ },
1068
+ {
1069
+ "action": "upsert",
1070
+ "packageId": "slack",
1071
+ "namespace": "messages",
1072
+ "rowId": "C01ENGINEER:1788430200.000128",
1073
+ "value": {
1074
+ "channel": "C01ENGINEER",
1075
+ "ts": "1788430200.000128",
1076
+ "type": "message",
1077
+ "user": "U01MIRA0006",
1078
+ "text": "Postgres 16 upgrade notes are up. Main change: the connection pooler config moves to the new file.",
1079
+ "reactions": [],
1080
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1788430200000128",
1081
+ "team": "T01EXAMPLE0"
1082
+ }
1083
+ },
1084
+ {
1085
+ "action": "upsert",
1086
+ "packageId": "slack",
1087
+ "namespace": "messages",
1088
+ "rowId": "C01ENGINEER:1788526800.000129",
1089
+ "value": {
1090
+ "channel": "C01ENGINEER",
1091
+ "ts": "1788526800.000129",
1092
+ "type": "message",
1093
+ "user": "U01DANA0001",
1094
+ "text": "Reminder to write a rollback plan before every production change. Template is pinned in #incidents.",
1095
+ "reactions": [],
1096
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1788526800000129",
1097
+ "team": "T01EXAMPLE0",
1098
+ "edited": {
1099
+ "user": "U01DANA0001",
1100
+ "ts": "1788526920.000000"
1101
+ }
1102
+ }
1103
+ },
1104
+ {
1105
+ "action": "upsert",
1106
+ "packageId": "slack",
1107
+ "namespace": "messages",
1108
+ "rowId": "C01ENGINEER:1788773400.000130",
1109
+ "value": {
1110
+ "channel": "C01ENGINEER",
1111
+ "ts": "1788773400.000130",
1112
+ "type": "message",
1113
+ "user": "U01OPSBOT05",
1114
+ "text": "Nightly build #4821 passed (312 tests, 0 failures).",
1115
+ "reactions": [],
1116
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1788773400000130",
1117
+ "team": "T01EXAMPLE0",
1118
+ "blocks": [
1119
+ {
1120
+ "type": "section",
1121
+ "text": {
1122
+ "type": "mrkdwn",
1123
+ "text": "*Nightly build #4821* passed\n312 tests, 0 failures"
1124
+ }
1125
+ }
1126
+ ],
1127
+ "subtype": "bot_message",
1128
+ "bot_id": "B01OPSBOT01"
1129
+ }
1130
+ },
1131
+ {
1132
+ "action": "upsert",
1133
+ "packageId": "slack",
1134
+ "namespace": "messages",
1135
+ "rowId": "C01ENGINEER:1788882300.000131",
1136
+ "value": {
1137
+ "channel": "C01ENGINEER",
1138
+ "ts": "1788882300.000131",
1139
+ "type": "message",
1140
+ "user": "U01SAM00002",
1141
+ "text": "Anyone else seeing flaky results from the integration suite on the ci-runner-3 box?",
1142
+ "reactions": [
1143
+ {
1144
+ "name": "eyes",
1145
+ "users": [
1146
+ "U01DANA0001"
1147
+ ],
1148
+ "count": 1
1149
+ }
1150
+ ],
1151
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1788882300000131",
1152
+ "team": "T01EXAMPLE0"
1153
+ }
1154
+ },
1155
+ {
1156
+ "action": "upsert",
1157
+ "packageId": "slack",
1158
+ "namespace": "messages",
1159
+ "rowId": "C01ENGINEER:1788952800.000132",
1160
+ "value": {
1161
+ "channel": "C01ENGINEER",
1162
+ "ts": "1788952800.000132",
1163
+ "type": "message",
1164
+ "user": "U01MIRA0006",
1165
+ "text": "Fixed the flaky suite — the test container was reusing a port. PR #418 is ready for review.",
1166
+ "reactions": [],
1167
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1788952800000132",
1168
+ "team": "T01EXAMPLE0"
1169
+ }
1170
+ },
1171
+ {
1172
+ "action": "upsert",
1173
+ "packageId": "slack",
1174
+ "namespace": "messages",
1175
+ "rowId": "C01ENGINEER:1789116600.000133",
1176
+ "value": {
1177
+ "channel": "C01ENGINEER",
1178
+ "ts": "1789116600.000133",
1179
+ "type": "message",
1180
+ "user": "U01DANA0001",
1181
+ "text": "Next deploy window is Tuesday 2026-09-16. Add your changes to the release sheet by Monday noon.",
1182
+ "reactions": [],
1183
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1789116600000133",
1184
+ "team": "T01EXAMPLE0"
1185
+ }
1186
+ },
1187
+ {
1188
+ "action": "upsert",
1189
+ "packageId": "slack",
1190
+ "namespace": "messages",
1191
+ "rowId": "C01ENGINEER:1789375200.000134",
1192
+ "value": {
1193
+ "channel": "C01ENGINEER",
1194
+ "ts": "1789375200.000134",
1195
+ "type": "message",
1196
+ "user": "U01SAM00002",
1197
+ "text": "Morning! Standup moved to 09:30 UTC today because of the incident review.",
1198
+ "reactions": [],
1199
+ "permalink": "https://example-team.slack.com/archives/C01ENGINEER/p1789375200000134",
1200
+ "team": "T01EXAMPLE0"
1201
+ }
1202
+ },
1203
+ {
1204
+ "action": "upsert",
1205
+ "packageId": "slack",
1206
+ "namespace": "messages",
1207
+ "rowId": "C01INCIDENT:1788055800.000141",
1208
+ "value": {
1209
+ "channel": "C01INCIDENT",
1210
+ "ts": "1788055800.000141",
1211
+ "type": "message",
1212
+ "user": "U01OPSBOT05",
1213
+ "text": "ALERT: checkout-api error rate above 5% for 10 minutes (INC-77).",
1214
+ "reactions": [],
1215
+ "permalink": "https://example-team.slack.com/archives/C01INCIDENT/p1788055800000141",
1216
+ "team": "T01EXAMPLE0",
1217
+ "subtype": "bot_message",
1218
+ "bot_id": "B01OPSBOT01",
1219
+ "thread_ts": "1788055800.000141",
1220
+ "reply_count": 2,
1221
+ "reply_users": [
1222
+ "U01SAM00002"
1223
+ ],
1224
+ "reply_users_count": 1,
1225
+ "latest_reply": "1788057060.000143"
1226
+ }
1227
+ },
1228
+ {
1229
+ "action": "upsert",
1230
+ "packageId": "slack",
1231
+ "namespace": "messages",
1232
+ "rowId": "C01INCIDENT:1788056040.000142",
1233
+ "value": {
1234
+ "channel": "C01INCIDENT",
1235
+ "ts": "1788056040.000142",
1236
+ "type": "message",
1237
+ "user": "U01SAM00002",
1238
+ "text": "On it. Rolling back the 02:00 config change.",
1239
+ "reactions": [],
1240
+ "permalink": "https://example-team.slack.com/archives/C01INCIDENT/p1788056040000142",
1241
+ "team": "T01EXAMPLE0",
1242
+ "thread_ts": "1788055800.000141"
1243
+ }
1244
+ },
1245
+ {
1246
+ "action": "upsert",
1247
+ "packageId": "slack",
1248
+ "namespace": "messages",
1249
+ "rowId": "C01INCIDENT:1788057060.000143",
1250
+ "value": {
1251
+ "channel": "C01INCIDENT",
1252
+ "ts": "1788057060.000143",
1253
+ "type": "message",
1254
+ "user": "U01SAM00002",
1255
+ "text": "Recovered at 02:29. Root cause: a bad feature-flag default. Post-mortem tomorrow.",
1256
+ "reactions": [],
1257
+ "permalink": "https://example-team.slack.com/archives/C01INCIDENT/p1788057060000143",
1258
+ "team": "T01EXAMPLE0",
1259
+ "thread_ts": "1788055800.000141"
1260
+ }
1261
+ },
1262
+ {
1263
+ "action": "upsert",
1264
+ "packageId": "slack",
1265
+ "namespace": "messages",
1266
+ "rowId": "C01INCIDENT:1788166800.000144",
1267
+ "value": {
1268
+ "channel": "C01INCIDENT",
1269
+ "ts": "1788166800.000144",
1270
+ "type": "message",
1271
+ "user": "U01SAM00002",
1272
+ "text": "Incident runbook and rollback template: https://wiki.example.test/runbooks/checkout — please read before your next on-call shift.",
1273
+ "reactions": [],
1274
+ "permalink": "https://example-team.slack.com/archives/C01INCIDENT/p1788166800000144",
1275
+ "team": "T01EXAMPLE0",
1276
+ "pinned_to": [
1277
+ "C01INCIDENT"
1278
+ ]
1279
+ }
1280
+ },
1281
+ {
1282
+ "action": "upsert",
1283
+ "packageId": "slack",
1284
+ "namespace": "messages",
1285
+ "rowId": "C01INCIDENT:1789374000.000145",
1286
+ "value": {
1287
+ "channel": "C01INCIDENT",
1288
+ "ts": "1789374000.000145",
1289
+ "type": "message",
1290
+ "user": "U01DANA0001",
1291
+ "text": "Incident review for INC-77 starts at 09:00 UTC in the ops room.",
1292
+ "reactions": [],
1293
+ "permalink": "https://example-team.slack.com/archives/C01INCIDENT/p1789374000000145",
1294
+ "team": "T01EXAMPLE0"
1295
+ }
1296
+ },
1297
+ {
1298
+ "action": "upsert",
1299
+ "packageId": "slack",
1300
+ "namespace": "messages",
1301
+ "rowId": "C01RANDOM01:1787400000.000151",
1302
+ "value": {
1303
+ "channel": "C01RANDOM01",
1304
+ "ts": "1787400000.000151",
1305
+ "type": "message",
1306
+ "user": "U01PRIYA003",
1307
+ "text": "Anyone have a good lunch spot recommendation near the office?",
1308
+ "reactions": [],
1309
+ "permalink": "https://example-team.slack.com/archives/C01RANDOM01/p1787400000000151",
1310
+ "team": "T01EXAMPLE0"
1311
+ }
1312
+ },
1313
+ {
1314
+ "action": "upsert",
1315
+ "packageId": "slack",
1316
+ "namespace": "messages",
1317
+ "rowId": "C01RANDOM01:1787400300.000152",
1318
+ "value": {
1319
+ "channel": "C01RANDOM01",
1320
+ "ts": "1787400300.000152",
1321
+ "type": "message",
1322
+ "user": "U01MIRA0006",
1323
+ "text": ":tada:",
1324
+ "reactions": [],
1325
+ "permalink": "https://example-team.slack.com/archives/C01RANDOM01/p1787400300000152",
1326
+ "team": "T01EXAMPLE0"
1327
+ }
1328
+ },
1329
+ {
1330
+ "action": "upsert",
1331
+ "packageId": "slack",
1332
+ "namespace": "messages",
1333
+ "rowId": "C01RANDOM01:1788629400.000153",
1334
+ "value": {
1335
+ "channel": "C01RANDOM01",
1336
+ "ts": "1788629400.000153",
1337
+ "type": "message",
1338
+ "user": "U01SAM00002",
1339
+ "text": "<@U01DANA0001> the team photo from the offsite is in the shared album!",
1340
+ "reactions": [],
1341
+ "permalink": "https://example-team.slack.com/archives/C01RANDOM01/p1788629400000153",
1342
+ "team": "T01EXAMPLE0"
1343
+ }
1344
+ },
1345
+ {
1346
+ "action": "upsert",
1347
+ "packageId": "slack",
1348
+ "namespace": "messages",
1349
+ "rowId": "C01RANDOM01:1789204500.000154",
1350
+ "value": {
1351
+ "channel": "C01RANDOM01",
1352
+ "ts": "1789204500.000154",
1353
+ "type": "message",
1354
+ "user": "U01DANA0001",
1355
+ "text": "Friday reminder: submit your expense reports by end of day.",
1356
+ "reactions": [],
1357
+ "permalink": "https://example-team.slack.com/archives/C01RANDOM01/p1789204500000154",
1358
+ "team": "T01EXAMPLE0"
1359
+ }
1360
+ },
1361
+ {
1362
+ "action": "upsert",
1363
+ "packageId": "slack",
1364
+ "namespace": "messages",
1365
+ "rowId": "C01LAUNCHQ3:1787306400.000161",
1366
+ "value": {
1367
+ "channel": "C01LAUNCHQ3",
1368
+ "ts": "1787306400.000161",
1369
+ "type": "message",
1370
+ "user": "U01MIRA0006",
1371
+ "text": "Q3 launch retrospective notes are in the doc. Thanks everyone!",
1372
+ "reactions": [],
1373
+ "permalink": "https://example-team.slack.com/archives/C01LAUNCHQ3/p1787306400000161",
1374
+ "team": "T01EXAMPLE0"
1375
+ }
1376
+ },
1377
+ {
1378
+ "action": "upsert",
1379
+ "packageId": "slack",
1380
+ "namespace": "messages",
1381
+ "rowId": "C01LAUNCHQ3:1787308200.000162",
1382
+ "value": {
1383
+ "channel": "C01LAUNCHQ3",
1384
+ "ts": "1787308200.000162",
1385
+ "type": "message",
1386
+ "user": "U01DANA0001",
1387
+ "text": "Archiving this channel now that the launch is done.",
1388
+ "reactions": [],
1389
+ "permalink": "https://example-team.slack.com/archives/C01LAUNCHQ3/p1787308200000162",
1390
+ "team": "T01EXAMPLE0"
1391
+ }
1392
+ },
1393
+ {
1394
+ "action": "upsert",
1395
+ "packageId": "slack",
1396
+ "namespace": "messages",
1397
+ "rowId": "C01DESIGN01:1788357600.000171",
1398
+ "value": {
1399
+ "channel": "C01DESIGN01",
1400
+ "ts": "1788357600.000171",
1401
+ "type": "message",
1402
+ "user": "U01MIRA0006",
1403
+ "text": "New onboarding flow mockups are ready for feedback.",
1404
+ "reactions": [],
1405
+ "permalink": "https://example-team.slack.com/archives/C01DESIGN01/p1788357600000171",
1406
+ "team": "T01EXAMPLE0"
1407
+ }
1408
+ },
1409
+ {
1410
+ "action": "upsert",
1411
+ "packageId": "slack",
1412
+ "namespace": "messages",
1413
+ "rowId": "C01DESIGN01:1788427200.000172",
1414
+ "value": {
1415
+ "channel": "C01DESIGN01",
1416
+ "ts": "1788427200.000172",
1417
+ "type": "message",
1418
+ "user": "U01SAM00002",
1419
+ "text": "Looks great — the empty state copy could be shorter.",
1420
+ "reactions": [],
1421
+ "permalink": "https://example-team.slack.com/archives/C01DESIGN01/p1788427200000172",
1422
+ "team": "T01EXAMPLE0"
1423
+ }
1424
+ },
1425
+ {
1426
+ "action": "upsert",
1427
+ "packageId": "slack",
1428
+ "namespace": "messages",
1429
+ "rowId": "C01LEADERS1:1788854400.000181",
1430
+ "value": {
1431
+ "channel": "C01LEADERS1",
1432
+ "ts": "1788854400.000181",
1433
+ "type": "message",
1434
+ "user": "U01SAM00002",
1435
+ "text": "Hiring plan for Q4 draft is ready.",
1436
+ "reactions": [],
1437
+ "permalink": "https://example-team.slack.com/archives/C01LEADERS1/p1788854400000181",
1438
+ "team": "T01EXAMPLE0"
1439
+ }
1440
+ },
1441
+ {
1442
+ "action": "upsert",
1443
+ "packageId": "slack",
1444
+ "namespace": "messages",
1445
+ "rowId": "C01LEADERS1:1788856200.000182",
1446
+ "value": {
1447
+ "channel": "C01LEADERS1",
1448
+ "ts": "1788856200.000182",
1449
+ "type": "message",
1450
+ "user": "U01MIRA0006",
1451
+ "text": "Reviewed. Let's discuss on Wednesday.",
1452
+ "reactions": [],
1453
+ "permalink": "https://example-team.slack.com/archives/C01LEADERS1/p1788856200000182",
1454
+ "team": "T01EXAMPLE0"
1455
+ }
1456
+ },
1457
+ {
1458
+ "action": "upsert",
1459
+ "packageId": "slack",
1460
+ "namespace": "messages",
1461
+ "rowId": "D01DANASAM1:1789056000.000191",
1462
+ "value": {
1463
+ "channel": "D01DANASAM1",
1464
+ "ts": "1789056000.000191",
1465
+ "type": "message",
1466
+ "user": "U01SAM00002",
1467
+ "text": "Do you have five minutes to talk about the on-call rota?",
1468
+ "reactions": [],
1469
+ "permalink": "https://example-team.slack.com/archives/D01DANASAM1/p1789056000000191",
1470
+ "team": "T01EXAMPLE0"
1471
+ }
1472
+ },
1473
+ {
1474
+ "action": "upsert",
1475
+ "packageId": "slack",
1476
+ "namespace": "messages",
1477
+ "rowId": "D01DANASAM1:1789056120.000192",
1478
+ "value": {
1479
+ "channel": "D01DANASAM1",
1480
+ "ts": "1789056120.000192",
1481
+ "type": "message",
1482
+ "user": "U01DANA0001",
1483
+ "text": "Sure, calling you now.",
1484
+ "reactions": [],
1485
+ "permalink": "https://example-team.slack.com/archives/D01DANASAM1/p1789056120000192",
1486
+ "team": "T01EXAMPLE0"
1487
+ }
1488
+ },
1489
+ {
1490
+ "action": "upsert",
1491
+ "packageId": "slack",
1492
+ "namespace": "messages",
1493
+ "rowId": "D01DANASAM1:1789058400.000193",
1494
+ "value": {
1495
+ "channel": "D01DANASAM1",
1496
+ "ts": "1789058400.000193",
1497
+ "type": "message",
1498
+ "user": "U01SAM00002",
1499
+ "text": "Thanks — updated the rota sheet.",
1500
+ "reactions": [],
1501
+ "permalink": "https://example-team.slack.com/archives/D01DANASAM1/p1789058400000193",
1502
+ "team": "T01EXAMPLE0"
1503
+ }
1504
+ },
1505
+ {
1506
+ "action": "upsert",
1507
+ "packageId": "slack",
1508
+ "namespace": "messages",
1509
+ "rowId": "C01MPDM0001:1789128000.000196",
1510
+ "value": {
1511
+ "channel": "C01MPDM0001",
1512
+ "ts": "1789128000.000196",
1513
+ "type": "message",
1514
+ "user": "U01MIRA0006",
1515
+ "text": "Lunch on Friday to celebrate the migration?",
1516
+ "reactions": [],
1517
+ "permalink": "https://example-team.slack.com/archives/C01MPDM0001/p1789128000000196",
1518
+ "team": "T01EXAMPLE0"
1519
+ }
1520
+ },
1521
+ {
1522
+ "action": "upsert",
1523
+ "packageId": "slack",
1524
+ "namespace": "messages",
1525
+ "rowId": "C01MPDM0001:1789128180.000197",
1526
+ "value": {
1527
+ "channel": "C01MPDM0001",
1528
+ "ts": "1789128180.000197",
1529
+ "type": "message",
1530
+ "user": "U01DANA0001",
1531
+ "text": "Count me in.",
1532
+ "reactions": [],
1533
+ "permalink": "https://example-team.slack.com/archives/C01MPDM0001/p1789128180000197",
1534
+ "team": "T01EXAMPLE0"
1535
+ }
1536
+ },
1537
+ {
1538
+ "action": "upsert",
1539
+ "packageId": "slack",
1540
+ "namespace": "pins",
1541
+ "rowId": "C01GENERAL1:1787216400.000101",
1542
+ "value": {
1543
+ "channel": "C01GENERAL1",
1544
+ "message_ts": "1787216400.000101",
1545
+ "created": 1787216700,
1546
+ "created_by": "U01DANA0001"
1547
+ }
1548
+ },
1549
+ {
1550
+ "action": "upsert",
1551
+ "packageId": "slack",
1552
+ "namespace": "pins",
1553
+ "rowId": "C01INCIDENT:1788166800.000144",
1554
+ "value": {
1555
+ "channel": "C01INCIDENT",
1556
+ "message_ts": "1788166800.000144",
1557
+ "created": 1788166920,
1558
+ "created_by": "U01SAM00002"
1559
+ }
1560
+ }
1561
+ ]
1562
+ }