@notis_ai/cli 0.2.6 → 0.2.8

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 (151) hide show
  1. package/README.md +17 -0
  2. package/dist/scaffolds/notis-database/app/page.tsx +38 -41
  3. package/dist/scaffolds/notis-database/lib/types.ts +5 -7
  4. package/dist/scaffolds/notis-database/metadata/screenshot-1.png +0 -0
  5. package/dist/scaffolds/notis-database/metadata/screenshot-2.png +0 -0
  6. package/dist/scaffolds/notis-database/metadata/screenshot-3.png +0 -0
  7. package/dist/scaffolds/notis-database/metadata/screenshot-4.png +0 -0
  8. package/dist/scaffolds/notis-database/metadata/screenshot-5.png +0 -0
  9. package/dist/scaffolds/notis-database/metadata/screenshot-fixtures.json +1839 -0
  10. package/dist/scaffolds/notis-database/notis.config.ts +48 -1
  11. package/dist/scaffolds/notis-database/package-lock.json +3935 -0
  12. package/dist/scaffolds/notis-database/package.json +2 -1
  13. package/dist/scaffolds/notis-database/packages/sdk/package.json +36 -0
  14. package/dist/scaffolds/notis-database/packages/sdk/src/components/DocumentEditor.tsx +93 -0
  15. package/dist/scaffolds/notis-database/packages/sdk/src/components/Markdown.tsx +60 -0
  16. package/dist/scaffolds/notis-database/packages/sdk/src/components/MultiSelectActionBar.tsx +278 -0
  17. package/dist/scaffolds/notis-database/packages/sdk/src/components/MultiSelectCheckbox.tsx +91 -0
  18. package/dist/scaffolds/notis-database/packages/sdk/src/components/MultiSelectDragOverlay.tsx +39 -0
  19. package/dist/scaffolds/notis-database/packages/sdk/src/config.ts +196 -0
  20. package/dist/scaffolds/notis-database/packages/sdk/src/documents.ts +229 -0
  21. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useBackend.ts +41 -0
  22. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useDatabaseSchema.ts +85 -0
  23. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useDocument.ts +78 -0
  24. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useDocuments.ts +121 -0
  25. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useMultiSelect.ts +539 -0
  26. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useNotis.ts +34 -0
  27. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useNotisNavigation.ts +49 -0
  28. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useTool.ts +64 -0
  29. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useTools.ts +56 -0
  30. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useTopBarSearch.ts +73 -0
  31. package/dist/scaffolds/notis-database/packages/sdk/src/hooks/useUpsertDocument.ts +95 -0
  32. package/dist/scaffolds/notis-database/packages/sdk/src/index.ts +83 -0
  33. package/dist/scaffolds/notis-database/packages/sdk/src/provider.tsx +43 -0
  34. package/dist/scaffolds/notis-database/packages/sdk/src/runtime.ts +220 -0
  35. package/dist/scaffolds/notis-database/packages/sdk/src/styles.css +186 -0
  36. package/dist/scaffolds/notis-database/packages/sdk/src/ui.ts +15 -0
  37. package/dist/scaffolds/notis-database/packages/sdk/src/vite.ts +56 -0
  38. package/dist/scaffolds/notis-database/packages/sdk/tsconfig.json +15 -0
  39. package/dist/scaffolds/notis-database/src/mock-runtime.ts +4 -1
  40. package/dist/scaffolds/notis-journal/CHANGELOG.md +4 -0
  41. package/dist/scaffolds/notis-journal/app/page.tsx +1 -0
  42. package/dist/scaffolds/notis-journal/package-lock.json +4615 -0
  43. package/dist/scaffolds/notis-journal/package.json +2 -2
  44. package/dist/scaffolds/notis-journal/packages/sdk/src/config.ts +52 -1
  45. package/dist/scaffolds/notis-notes/app/page.tsx +39 -46
  46. package/dist/scaffolds/notis-notes/app/phosphor-icons.ts +596 -0
  47. package/dist/scaffolds/notis-notes/lib/visible-properties.ts +144 -0
  48. package/dist/scaffolds/notis-notes/metadata/screenshot-1.png +0 -0
  49. package/dist/scaffolds/notis-notes/metadata/screenshot-2.png +0 -0
  50. package/dist/scaffolds/notis-notes/metadata/screenshot-3.png +0 -0
  51. package/dist/scaffolds/notis-notes/metadata/screenshot-4.png +0 -0
  52. package/dist/scaffolds/notis-notes/metadata/screenshot-5.png +0 -0
  53. package/dist/scaffolds/notis-notes/metadata/screenshot-fixtures.json +752 -0
  54. package/dist/scaffolds/notis-notes/notis.config.ts +48 -3
  55. package/dist/scaffolds/notis-notes/package-lock.json +4636 -0
  56. package/dist/scaffolds/notis-notes/package.json +7 -3
  57. package/dist/scaffolds/notis-notes/packages/sdk/package.json +36 -0
  58. package/dist/scaffolds/notis-notes/packages/sdk/src/components/DocumentEditor.tsx +93 -0
  59. package/dist/scaffolds/notis-notes/packages/sdk/src/components/Markdown.tsx +60 -0
  60. package/dist/scaffolds/notis-notes/packages/sdk/src/components/MultiSelectActionBar.tsx +278 -0
  61. package/dist/scaffolds/notis-notes/packages/sdk/src/components/MultiSelectCheckbox.tsx +91 -0
  62. package/dist/scaffolds/notis-notes/packages/sdk/src/components/MultiSelectDragOverlay.tsx +39 -0
  63. package/dist/scaffolds/notis-notes/packages/sdk/src/config.ts +196 -0
  64. package/dist/scaffolds/notis-notes/packages/sdk/src/documents.ts +229 -0
  65. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useBackend.ts +41 -0
  66. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useDatabaseSchema.ts +85 -0
  67. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useDocument.ts +78 -0
  68. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useDocuments.ts +121 -0
  69. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useMultiSelect.ts +539 -0
  70. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useNotis.ts +34 -0
  71. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useNotisNavigation.ts +49 -0
  72. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useTool.ts +64 -0
  73. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useTools.ts +56 -0
  74. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useTopBarSearch.ts +73 -0
  75. package/dist/scaffolds/notis-notes/packages/sdk/src/hooks/useUpsertDocument.ts +95 -0
  76. package/dist/scaffolds/notis-notes/packages/sdk/src/index.ts +83 -0
  77. package/dist/scaffolds/notis-notes/packages/sdk/src/provider.tsx +43 -0
  78. package/dist/scaffolds/notis-notes/packages/sdk/src/runtime.ts +220 -0
  79. package/dist/scaffolds/notis-notes/packages/sdk/src/styles.css +186 -0
  80. package/dist/scaffolds/notis-notes/packages/sdk/src/ui.ts +15 -0
  81. package/dist/scaffolds/notis-notes/packages/sdk/src/vite.ts +56 -0
  82. package/dist/scaffolds/notis-notes/packages/sdk/tsconfig.json +15 -0
  83. package/dist/scaffolds/notis-random/CHANGELOG.md +12 -2
  84. package/dist/scaffolds/notis-random/app/history/page.tsx +5 -4
  85. package/dist/scaffolds/notis-random/app/page.tsx +141 -74
  86. package/dist/scaffolds/notis-random/components/ui/button.tsx +50 -0
  87. package/dist/scaffolds/notis-random/components/ui/card.tsx +16 -0
  88. package/dist/scaffolds/notis-random/components/ui/input.tsx +23 -0
  89. package/dist/scaffolds/notis-random/components.json +20 -0
  90. package/dist/scaffolds/notis-random/lib/notis-tools.ts +26 -7
  91. package/dist/scaffolds/notis-random/lib/rng.ts +179 -19
  92. package/dist/scaffolds/notis-random/lib/roll-record.ts +103 -16
  93. package/dist/scaffolds/notis-random/metadata/screenshot-1.png +0 -0
  94. package/dist/scaffolds/notis-random/metadata/screenshot-2.png +0 -0
  95. package/dist/scaffolds/notis-random/metadata/screenshot-3.png +0 -0
  96. package/dist/scaffolds/notis-random/metadata/screenshot-4.png +0 -0
  97. package/dist/scaffolds/notis-random/metadata/screenshot-5.png +0 -0
  98. package/dist/scaffolds/notis-random/metadata/screenshot-fixtures.json +753 -0
  99. package/dist/scaffolds/notis-random/notis.config.ts +47 -3
  100. package/dist/scaffolds/notis-random/package-lock.json +4513 -0
  101. package/dist/scaffolds/notis-random/package.json +6 -2
  102. package/dist/scaffolds/notis-random/packages/sdk/package.json +36 -0
  103. package/dist/scaffolds/notis-random/packages/sdk/src/components/DocumentEditor.tsx +93 -0
  104. package/dist/scaffolds/notis-random/packages/sdk/src/components/Markdown.tsx +60 -0
  105. package/dist/scaffolds/notis-random/packages/sdk/src/components/MultiSelectActionBar.tsx +278 -0
  106. package/dist/scaffolds/notis-random/packages/sdk/src/components/MultiSelectCheckbox.tsx +91 -0
  107. package/dist/scaffolds/notis-random/packages/sdk/src/components/MultiSelectDragOverlay.tsx +39 -0
  108. package/dist/scaffolds/notis-random/packages/sdk/src/config.ts +196 -0
  109. package/dist/scaffolds/notis-random/packages/sdk/src/documents.ts +229 -0
  110. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useBackend.ts +41 -0
  111. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useDatabaseSchema.ts +85 -0
  112. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useDocument.ts +78 -0
  113. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useDocuments.ts +121 -0
  114. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useMultiSelect.ts +539 -0
  115. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useNotis.ts +34 -0
  116. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useNotisNavigation.ts +49 -0
  117. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useTool.ts +64 -0
  118. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useTools.ts +56 -0
  119. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useTopBarSearch.ts +73 -0
  120. package/dist/scaffolds/notis-random/packages/sdk/src/hooks/useUpsertDocument.ts +95 -0
  121. package/dist/scaffolds/notis-random/packages/sdk/src/index.ts +83 -0
  122. package/dist/scaffolds/notis-random/packages/sdk/src/provider.tsx +43 -0
  123. package/dist/scaffolds/notis-random/packages/sdk/src/runtime.ts +220 -0
  124. package/dist/scaffolds/notis-random/packages/sdk/src/styles.css +186 -0
  125. package/dist/scaffolds/notis-random/packages/sdk/src/ui.ts +15 -0
  126. package/dist/scaffolds/notis-random/packages/sdk/src/vite.ts +56 -0
  127. package/dist/scaffolds/notis-random/packages/sdk/tsconfig.json +15 -0
  128. package/dist/scaffolds/notis-random/tailwind.config.ts +8 -1
  129. package/dist/scaffolds.json +8 -6
  130. package/package.json +2 -1
  131. package/skills/notis-apps/SKILL.md +449 -144
  132. package/skills/notis-apps/cli.md +15 -0
  133. package/skills/notis-cli/SKILL.md +8 -4
  134. package/skills/notis-onboarding/BRIEF.md +93 -0
  135. package/src/cli.js +52 -7
  136. package/src/command-specs/apps.js +154 -21
  137. package/src/command-specs/diagnostics.js +674 -0
  138. package/src/command-specs/helpers.js +4 -1
  139. package/src/command-specs/index.js +8 -0
  140. package/src/command-specs/onboarding.js +216 -0
  141. package/src/command-specs/smoke.js +386 -0
  142. package/src/command-specs/tools.js +189 -5
  143. package/src/runtime/app-platform.js +65 -4
  144. package/src/runtime/desktop-auth.js +66 -17
  145. package/src/runtime/errors.js +1 -0
  146. package/src/runtime/output.js +21 -3
  147. package/src/runtime/profiles.js +214 -18
  148. package/src/runtime/telemetry.js +92 -0
  149. package/src/runtime/transport.js +29 -1
  150. package/template/.harness/index.html.tmpl +30 -2
  151. package/template/packages/sdk/src/config.ts +38 -1
@@ -0,0 +1,1839 @@
1
+ {
2
+ "tools": {
3
+ "LOCAL_NOTIS_DATABASE_LIST_DATABASES": {
4
+ "total_count": 9,
5
+ "databases": [
6
+ {
7
+ "id": "db-crm-accounts",
8
+ "slug": "crm_accounts",
9
+ "name": "Accounts",
10
+ "description": "Every company in the pipeline, with owner, tier, and renewal date.",
11
+ "icon": "phosphor:buildings",
12
+ "documents_count": 12,
13
+ "total_documents": 12,
14
+ "successful_documents": 12,
15
+ "updated_at": "2026-07-27T16:42:00.000Z",
16
+ "owner_app_id": "app-revenue",
17
+ "owner_app_name": "Revenue"
18
+ },
19
+ {
20
+ "id": "db-crm-contacts",
21
+ "slug": "crm_contacts",
22
+ "name": "Contacts",
23
+ "description": "People attached to an account, with role and last touch.",
24
+ "icon": "phosphor:users",
25
+ "documents_count": 1893,
26
+ "total_documents": 1893,
27
+ "successful_documents": 1893,
28
+ "updated_at": "2026-07-27T09:15:00.000Z",
29
+ "owner_app_id": "app-revenue",
30
+ "owner_app_name": "Revenue"
31
+ },
32
+ {
33
+ "id": "db-crm-deals",
34
+ "slug": "crm_deals",
35
+ "name": "Deals",
36
+ "description": "Open and closed opportunities by stage and amount.",
37
+ "icon": "phosphor:chart-line",
38
+ "documents_count": 168,
39
+ "total_documents": 168,
40
+ "successful_documents": 168,
41
+ "updated_at": "2026-07-26T18:03:00.000Z",
42
+ "owner_app_id": "app-revenue",
43
+ "owner_app_name": "Revenue"
44
+ },
45
+ {
46
+ "id": "db-journal-entries",
47
+ "slug": "journal_entries",
48
+ "name": "Journal Entries",
49
+ "description": "Morning and evening check-ins captured by the 5 Minutes Journal.",
50
+ "icon": "phosphor:notebook",
51
+ "documents_count": 214,
52
+ "total_documents": 214,
53
+ "successful_documents": 214,
54
+ "updated_at": "2026-07-28T06:30:00.000Z",
55
+ "owner_app_id": "app-journal",
56
+ "owner_app_name": "5 Minutes Journal"
57
+ },
58
+ {
59
+ "id": "db-reading-list",
60
+ "slug": "reading_list",
61
+ "name": "Reading List",
62
+ "description": "Articles and books queued up, with source and status.",
63
+ "icon": "phosphor:book-open",
64
+ "documents_count": 96,
65
+ "total_documents": 96,
66
+ "successful_documents": 96,
67
+ "updated_at": "2026-07-25T20:11:00.000Z",
68
+ "owner_app_id": null,
69
+ "owner_app_name": null
70
+ },
71
+ {
72
+ "id": "db-meeting-notes",
73
+ "slug": "meeting_notes",
74
+ "name": "Meeting Notes",
75
+ "description": "Transcribed notes and action items from every call.",
76
+ "icon": "phosphor:microphone",
77
+ "documents_count": 331,
78
+ "total_documents": 331,
79
+ "successful_documents": 331,
80
+ "updated_at": "2026-07-28T08:05:00.000Z",
81
+ "owner_app_id": null,
82
+ "owner_app_name": null
83
+ },
84
+ {
85
+ "id": "db-expenses",
86
+ "slug": "expenses",
87
+ "name": "Expenses",
88
+ "description": "Receipts captured by voice, categorised and totalled per month.",
89
+ "icon": "phosphor:receipt",
90
+ "documents_count": 748,
91
+ "total_documents": 748,
92
+ "successful_documents": 748,
93
+ "updated_at": "2026-07-27T21:40:00.000Z",
94
+ "owner_app_id": null,
95
+ "owner_app_name": null
96
+ },
97
+ {
98
+ "id": "db-habits",
99
+ "slug": "habits",
100
+ "name": "Habits",
101
+ "description": "Daily habit streaks and completion history.",
102
+ "icon": "phosphor:target",
103
+ "documents_count": 1120,
104
+ "total_documents": 1120,
105
+ "successful_documents": 1120,
106
+ "updated_at": "2026-07-28T07:00:00.000Z",
107
+ "owner_app_id": null,
108
+ "owner_app_name": null
109
+ },
110
+ {
111
+ "id": "db-travel",
112
+ "slug": "travel_plans",
113
+ "name": "Travel Plans",
114
+ "description": "Trips, bookings, and packing checklists.",
115
+ "icon": "phosphor:airplane",
116
+ "documents_count": 27,
117
+ "total_documents": 27,
118
+ "successful_documents": 27,
119
+ "updated_at": "2026-07-20T12:22:00.000Z",
120
+ "owner_app_id": null,
121
+ "owner_app_name": null
122
+ }
123
+ ]
124
+ },
125
+ "LOCAL_NOTIS_DATABASE_GET_DATABASE": {
126
+ "database": {
127
+ "id": "db-crm-accounts",
128
+ "slug": "crm_accounts",
129
+ "name": "Accounts",
130
+ "description": "Every company in the pipeline, with owner, tier, and renewal date. Written by the Revenue app and by voice capture.",
131
+ "icon": "phosphor:buildings",
132
+ "cover": null,
133
+ "content_type": "database",
134
+ "view_config": null,
135
+ "documents_count": 12,
136
+ "total_documents": 12,
137
+ "successful_documents": 12,
138
+ "created_at": "2026-02-11T10:00:00.000Z",
139
+ "updated_at": "2026-07-27T16:42:00.000Z",
140
+ "schema": {
141
+ "schema_version": 4,
142
+ "title_property_id": "prop-name",
143
+ "properties": [
144
+ {
145
+ "id": "prop-name",
146
+ "name": "Name",
147
+ "type": "title",
148
+ "description": "Legal company name as it appears on the contract.",
149
+ "order": 0,
150
+ "storage_family": "text"
151
+ },
152
+ {
153
+ "id": "prop-tier",
154
+ "name": "Tier",
155
+ "type": "select",
156
+ "description": "Commercial tier, drives the renewal playbook.",
157
+ "order": 1,
158
+ "storage_family": "select",
159
+ "options": [
160
+ {
161
+ "id": "opt-ent",
162
+ "name": "Enterprise",
163
+ "color": "purple",
164
+ "order": 0
165
+ },
166
+ {
167
+ "id": "opt-growth",
168
+ "name": "Growth",
169
+ "color": "blue",
170
+ "order": 1
171
+ },
172
+ {
173
+ "id": "opt-starter",
174
+ "name": "Starter",
175
+ "color": "green",
176
+ "order": 2
177
+ },
178
+ {
179
+ "id": "opt-churn",
180
+ "name": "Churn risk",
181
+ "color": "red",
182
+ "order": 3
183
+ }
184
+ ]
185
+ },
186
+ {
187
+ "id": "prop-status",
188
+ "name": "Status",
189
+ "type": "status",
190
+ "description": "Where the account sits in its lifecycle.",
191
+ "order": 2,
192
+ "storage_family": "select",
193
+ "options": [
194
+ {
195
+ "id": "st-active",
196
+ "name": "Active",
197
+ "color": "green",
198
+ "order": 0
199
+ },
200
+ {
201
+ "id": "st-onboard",
202
+ "name": "Onboarding",
203
+ "color": "yellow",
204
+ "order": 1
205
+ },
206
+ {
207
+ "id": "st-paused",
208
+ "name": "Paused",
209
+ "color": "gray",
210
+ "order": 2
211
+ }
212
+ ]
213
+ },
214
+ {
215
+ "id": "prop-arr",
216
+ "name": "ARR",
217
+ "type": "number",
218
+ "description": "Annual recurring revenue in EUR.",
219
+ "order": 3,
220
+ "storage_family": "number",
221
+ "format": "euro"
222
+ },
223
+ {
224
+ "id": "prop-seats",
225
+ "name": "Seats",
226
+ "type": "number",
227
+ "description": null,
228
+ "order": 4,
229
+ "storage_family": "number"
230
+ },
231
+ {
232
+ "id": "prop-renewal",
233
+ "name": "Renewal",
234
+ "type": "date",
235
+ "description": "Next renewal date. Drives the 60-day reminder automation.",
236
+ "order": 5,
237
+ "storage_family": "date"
238
+ },
239
+ {
240
+ "id": "prop-owner-email",
241
+ "name": "Owner",
242
+ "type": "email",
243
+ "description": null,
244
+ "order": 6,
245
+ "storage_family": "text"
246
+ },
247
+ {
248
+ "id": "prop-website",
249
+ "name": "Website",
250
+ "type": "url",
251
+ "description": null,
252
+ "order": 7,
253
+ "storage_family": "text"
254
+ },
255
+ {
256
+ "id": "prop-regions",
257
+ "name": "Regions",
258
+ "type": "multi_select",
259
+ "description": "Every region the account operates in.",
260
+ "order": 8,
261
+ "storage_family": "select",
262
+ "options": [
263
+ {
264
+ "id": "rg-eu",
265
+ "name": "EMEA",
266
+ "color": "blue",
267
+ "order": 0
268
+ },
269
+ {
270
+ "id": "rg-na",
271
+ "name": "North America",
272
+ "color": "orange",
273
+ "order": 1
274
+ },
275
+ {
276
+ "id": "rg-apac",
277
+ "name": "APAC",
278
+ "color": "pink",
279
+ "order": 2
280
+ }
281
+ ]
282
+ },
283
+ {
284
+ "id": "prop-strategic",
285
+ "name": "Strategic",
286
+ "type": "checkbox",
287
+ "description": null,
288
+ "order": 9,
289
+ "storage_family": "boolean"
290
+ },
291
+ {
292
+ "id": "prop-health",
293
+ "name": "Health score",
294
+ "type": "formula",
295
+ "description": "Blended usage and support signal, 0 to 100.",
296
+ "order": 10,
297
+ "storage_family": "number",
298
+ "expression": "round(usage_score * 0.7 + support_score * 0.3)"
299
+ },
300
+ {
301
+ "id": "prop-notes",
302
+ "name": "Account notes",
303
+ "type": "rich_text",
304
+ "description": "Free-form context the agent appends after each call.",
305
+ "order": 11,
306
+ "storage_family": "text"
307
+ },
308
+ {
309
+ "id": "prop-contacts",
310
+ "name": "Contacts",
311
+ "type": "relation",
312
+ "description": "Everyone we know at this account.",
313
+ "order": 12,
314
+ "storage_family": "relation",
315
+ "relation_target": {
316
+ "database_id": "db-crm-contacts",
317
+ "database_slug": "crm_contacts",
318
+ "database_name": "Contacts"
319
+ }
320
+ },
321
+ {
322
+ "id": "prop-deals",
323
+ "name": "Deals",
324
+ "type": "relation",
325
+ "description": "Open and historical opportunities.",
326
+ "order": 13,
327
+ "storage_family": "relation",
328
+ "relation_target": {
329
+ "database_id": "db-crm-deals",
330
+ "database_slug": "crm_deals",
331
+ "database_name": "Deals"
332
+ }
333
+ },
334
+ {
335
+ "id": "prop-meetings",
336
+ "name": "Meetings",
337
+ "type": "relation",
338
+ "description": "Every call transcribed against this account.",
339
+ "order": 14,
340
+ "storage_family": "relation",
341
+ "relation_target": {
342
+ "database_id": "db-meeting-notes",
343
+ "database_slug": "meeting_notes",
344
+ "database_name": "Meeting Notes"
345
+ }
346
+ }
347
+ ]
348
+ },
349
+ "owner_app_id": "app-revenue",
350
+ "owner_app_name": "Revenue"
351
+ }
352
+ },
353
+ "LOCAL_NOTIS_DATABASE_QUERY": {
354
+ "status": "success",
355
+ "results_count": 12,
356
+ "total_matching": 12,
357
+ "has_more": false,
358
+ "next_offset": null,
359
+ "documents": [
360
+ {
361
+ "id": "doc-acc-northwind",
362
+ "title": "Northwind Traders",
363
+ "created_time": "2026-03-04T09:12:00.000Z",
364
+ "last_edited_time": "2026-07-27T16:42:00.000Z",
365
+ "properties": {
366
+ "Name": {
367
+ "type": "title",
368
+ "title": [
369
+ {
370
+ "type": "text",
371
+ "text": {
372
+ "content": "Northwind Traders"
373
+ }
374
+ }
375
+ ]
376
+ },
377
+ "Tier": {
378
+ "type": "select",
379
+ "select": {
380
+ "name": "Enterprise",
381
+ "color": "purple"
382
+ }
383
+ },
384
+ "Status": {
385
+ "type": "status",
386
+ "status": {
387
+ "name": "Active",
388
+ "color": "green"
389
+ }
390
+ },
391
+ "ARR": {
392
+ "type": "number",
393
+ "number": 184000
394
+ },
395
+ "Seats": {
396
+ "type": "number",
397
+ "number": 240
398
+ },
399
+ "Renewal": {
400
+ "type": "date",
401
+ "date": {
402
+ "start": "2027-03-01",
403
+ "end": null
404
+ }
405
+ },
406
+ "Owner": {
407
+ "type": "email",
408
+ "email": "lea@notis.ai"
409
+ },
410
+ "Website": {
411
+ "type": "url",
412
+ "url": "https://northwind.example.com"
413
+ },
414
+ "Regions": {
415
+ "type": "multi_select",
416
+ "multi_select": [
417
+ {
418
+ "id": "rg-eu",
419
+ "name": "EMEA",
420
+ "color": "blue"
421
+ },
422
+ {
423
+ "id": "rg-na",
424
+ "name": "North America",
425
+ "color": "orange"
426
+ }
427
+ ]
428
+ },
429
+ "Strategic": {
430
+ "type": "checkbox",
431
+ "checkbox": true
432
+ },
433
+ "Health score": {
434
+ "type": "number",
435
+ "number": 88
436
+ },
437
+ "Account notes": {
438
+ "type": "rich_text",
439
+ "rich_text": [
440
+ {
441
+ "type": "text",
442
+ "text": {
443
+ "content": "Expansion conversation opened after the Q2 review."
444
+ }
445
+ }
446
+ ]
447
+ },
448
+ "Contacts": {
449
+ "type": "relation",
450
+ "relation": [
451
+ {
452
+ "id": "c1"
453
+ },
454
+ {
455
+ "id": "c2"
456
+ },
457
+ {
458
+ "id": "c3"
459
+ },
460
+ {
461
+ "id": "c4"
462
+ }
463
+ ]
464
+ },
465
+ "Deals": {
466
+ "type": "relation",
467
+ "relation": [
468
+ {
469
+ "id": "d1"
470
+ },
471
+ {
472
+ "id": "d2"
473
+ }
474
+ ]
475
+ },
476
+ "Meetings": {
477
+ "type": "relation",
478
+ "relation": [
479
+ {
480
+ "id": "m1"
481
+ },
482
+ {
483
+ "id": "m2"
484
+ },
485
+ {
486
+ "id": "m3"
487
+ }
488
+ ]
489
+ }
490
+ }
491
+ },
492
+ {
493
+ "id": "doc-acc-lumen",
494
+ "title": "Lumen Analytics",
495
+ "created_time": "2026-01-22T14:05:00.000Z",
496
+ "last_edited_time": "2026-07-24T11:20:00.000Z",
497
+ "properties": {
498
+ "Name": {
499
+ "type": "title",
500
+ "title": [
501
+ {
502
+ "type": "text",
503
+ "text": {
504
+ "content": "Lumen Analytics"
505
+ }
506
+ }
507
+ ]
508
+ },
509
+ "Tier": {
510
+ "type": "select",
511
+ "select": {
512
+ "name": "Growth",
513
+ "color": "blue"
514
+ }
515
+ },
516
+ "Status": {
517
+ "type": "status",
518
+ "status": {
519
+ "name": "Active",
520
+ "color": "green"
521
+ }
522
+ },
523
+ "ARR": {
524
+ "type": "number",
525
+ "number": 62400
526
+ },
527
+ "Seats": {
528
+ "type": "number",
529
+ "number": 78
530
+ },
531
+ "Renewal": {
532
+ "type": "date",
533
+ "date": {
534
+ "start": "2026-11-15",
535
+ "end": null
536
+ }
537
+ },
538
+ "Owner": {
539
+ "type": "email",
540
+ "email": "marc@notis.ai"
541
+ },
542
+ "Website": {
543
+ "type": "url",
544
+ "url": "https://lumen.example.com"
545
+ },
546
+ "Regions": {
547
+ "type": "multi_select",
548
+ "multi_select": [
549
+ {
550
+ "id": "rg-eu",
551
+ "name": "EMEA",
552
+ "color": "blue"
553
+ }
554
+ ]
555
+ },
556
+ "Strategic": {
557
+ "type": "checkbox",
558
+ "checkbox": false
559
+ },
560
+ "Health score": {
561
+ "type": "number",
562
+ "number": 74
563
+ },
564
+ "Account notes": {
565
+ "type": "rich_text",
566
+ "rich_text": [
567
+ {
568
+ "type": "text",
569
+ "text": {
570
+ "content": "Wants SSO before they will expand past 100 seats."
571
+ }
572
+ }
573
+ ]
574
+ },
575
+ "Contacts": {
576
+ "type": "relation",
577
+ "relation": [
578
+ {
579
+ "id": "c5"
580
+ },
581
+ {
582
+ "id": "c6"
583
+ }
584
+ ]
585
+ },
586
+ "Deals": {
587
+ "type": "relation",
588
+ "relation": [
589
+ {
590
+ "id": "d3"
591
+ }
592
+ ]
593
+ },
594
+ "Meetings": {
595
+ "type": "relation",
596
+ "relation": [
597
+ {
598
+ "id": "m4"
599
+ }
600
+ ]
601
+ }
602
+ }
603
+ },
604
+ {
605
+ "id": "doc-acc-atlas",
606
+ "title": "Atlas Freight",
607
+ "created_time": "2026-02-18T08:40:00.000Z",
608
+ "last_edited_time": "2026-07-19T15:02:00.000Z",
609
+ "properties": {
610
+ "Name": {
611
+ "type": "title",
612
+ "title": [
613
+ {
614
+ "type": "text",
615
+ "text": {
616
+ "content": "Atlas Freight"
617
+ }
618
+ }
619
+ ]
620
+ },
621
+ "Tier": {
622
+ "type": "select",
623
+ "select": {
624
+ "name": "Enterprise",
625
+ "color": "purple"
626
+ }
627
+ },
628
+ "Status": {
629
+ "type": "status",
630
+ "status": {
631
+ "name": "Onboarding",
632
+ "color": "yellow"
633
+ }
634
+ },
635
+ "ARR": {
636
+ "type": "number",
637
+ "number": 210000
638
+ },
639
+ "Seats": {
640
+ "type": "number",
641
+ "number": 310
642
+ },
643
+ "Renewal": {
644
+ "type": "date",
645
+ "date": {
646
+ "start": "2027-02-18",
647
+ "end": null
648
+ }
649
+ },
650
+ "Owner": {
651
+ "type": "email",
652
+ "email": "lea@notis.ai"
653
+ },
654
+ "Website": {
655
+ "type": "url",
656
+ "url": "https://atlasfreight.example.com"
657
+ },
658
+ "Regions": {
659
+ "type": "multi_select",
660
+ "multi_select": [
661
+ {
662
+ "id": "rg-na",
663
+ "name": "North America",
664
+ "color": "orange"
665
+ },
666
+ {
667
+ "id": "rg-apac",
668
+ "name": "APAC",
669
+ "color": "pink"
670
+ }
671
+ ]
672
+ },
673
+ "Strategic": {
674
+ "type": "checkbox",
675
+ "checkbox": true
676
+ },
677
+ "Health score": {
678
+ "type": "number",
679
+ "number": 61
680
+ },
681
+ "Account notes": {
682
+ "type": "rich_text",
683
+ "rich_text": [
684
+ {
685
+ "type": "text",
686
+ "text": {
687
+ "content": "Rollout blocked on their IT review until September."
688
+ }
689
+ }
690
+ ]
691
+ },
692
+ "Contacts": {
693
+ "type": "relation",
694
+ "relation": [
695
+ {
696
+ "id": "c7"
697
+ },
698
+ {
699
+ "id": "c8"
700
+ },
701
+ {
702
+ "id": "c9"
703
+ }
704
+ ]
705
+ },
706
+ "Deals": {
707
+ "type": "relation",
708
+ "relation": [
709
+ {
710
+ "id": "d4"
711
+ },
712
+ {
713
+ "id": "d5"
714
+ }
715
+ ]
716
+ },
717
+ "Meetings": {
718
+ "type": "relation",
719
+ "relation": [
720
+ {
721
+ "id": "m5"
722
+ },
723
+ {
724
+ "id": "m6"
725
+ }
726
+ ]
727
+ }
728
+ }
729
+ },
730
+ {
731
+ "id": "doc-acc-verdant",
732
+ "title": "Verdant Studio",
733
+ "created_time": "2026-04-02T16:30:00.000Z",
734
+ "last_edited_time": "2026-07-11T10:45:00.000Z",
735
+ "properties": {
736
+ "Name": {
737
+ "type": "title",
738
+ "title": [
739
+ {
740
+ "type": "text",
741
+ "text": {
742
+ "content": "Verdant Studio"
743
+ }
744
+ }
745
+ ]
746
+ },
747
+ "Tier": {
748
+ "type": "select",
749
+ "select": {
750
+ "name": "Starter",
751
+ "color": "green"
752
+ }
753
+ },
754
+ "Status": {
755
+ "type": "status",
756
+ "status": {
757
+ "name": "Active",
758
+ "color": "green"
759
+ }
760
+ },
761
+ "ARR": {
762
+ "type": "number",
763
+ "number": 9600
764
+ },
765
+ "Seats": {
766
+ "type": "number",
767
+ "number": 12
768
+ },
769
+ "Renewal": {
770
+ "type": "date",
771
+ "date": {
772
+ "start": "2026-10-02",
773
+ "end": null
774
+ }
775
+ },
776
+ "Owner": {
777
+ "type": "email",
778
+ "email": "sofia@notis.ai"
779
+ },
780
+ "Website": {
781
+ "type": "url",
782
+ "url": "https://verdant.example.com"
783
+ },
784
+ "Regions": {
785
+ "type": "multi_select",
786
+ "multi_select": [
787
+ {
788
+ "id": "rg-eu",
789
+ "name": "EMEA",
790
+ "color": "blue"
791
+ }
792
+ ]
793
+ },
794
+ "Strategic": {
795
+ "type": "checkbox",
796
+ "checkbox": false
797
+ },
798
+ "Health score": {
799
+ "type": "number",
800
+ "number": 92
801
+ },
802
+ "Account notes": {
803
+ "type": "rich_text",
804
+ "rich_text": [
805
+ {
806
+ "type": "text",
807
+ "text": {
808
+ "content": "Small but vocal advocate; happy to do a case study."
809
+ }
810
+ }
811
+ ]
812
+ },
813
+ "Contacts": {
814
+ "type": "relation",
815
+ "relation": [
816
+ {
817
+ "id": "c10"
818
+ }
819
+ ]
820
+ },
821
+ "Deals": {
822
+ "type": "relation",
823
+ "relation": []
824
+ },
825
+ "Meetings": {
826
+ "type": "relation",
827
+ "relation": [
828
+ {
829
+ "id": "m7"
830
+ }
831
+ ]
832
+ }
833
+ }
834
+ },
835
+ {
836
+ "id": "doc-acc-harbor",
837
+ "title": "Harbor Point Legal",
838
+ "created_time": "2026-05-14T11:00:00.000Z",
839
+ "last_edited_time": "2026-07-02T09:18:00.000Z",
840
+ "properties": {
841
+ "Name": {
842
+ "type": "title",
843
+ "title": [
844
+ {
845
+ "type": "text",
846
+ "text": {
847
+ "content": "Harbor Point Legal"
848
+ }
849
+ }
850
+ ]
851
+ },
852
+ "Tier": {
853
+ "type": "select",
854
+ "select": {
855
+ "name": "Churn risk",
856
+ "color": "red"
857
+ }
858
+ },
859
+ "Status": {
860
+ "type": "status",
861
+ "status": {
862
+ "name": "Paused",
863
+ "color": "gray"
864
+ }
865
+ },
866
+ "ARR": {
867
+ "type": "number",
868
+ "number": 31200
869
+ },
870
+ "Seats": {
871
+ "type": "number",
872
+ "number": 40
873
+ },
874
+ "Renewal": {
875
+ "type": "date",
876
+ "date": {
877
+ "start": "2026-09-01",
878
+ "end": null
879
+ }
880
+ },
881
+ "Owner": {
882
+ "type": "email",
883
+ "email": "marc@notis.ai"
884
+ },
885
+ "Website": {
886
+ "type": "url",
887
+ "url": "https://harborpoint.example.com"
888
+ },
889
+ "Regions": {
890
+ "type": "multi_select",
891
+ "multi_select": [
892
+ {
893
+ "id": "rg-na",
894
+ "name": "North America",
895
+ "color": "orange"
896
+ }
897
+ ]
898
+ },
899
+ "Strategic": {
900
+ "type": "checkbox",
901
+ "checkbox": false
902
+ },
903
+ "Health score": {
904
+ "type": "number",
905
+ "number": 38
906
+ },
907
+ "Account notes": {
908
+ "type": "rich_text",
909
+ "rich_text": [
910
+ {
911
+ "type": "text",
912
+ "text": {
913
+ "content": "Champion left in June. Need a new sponsor before renewal."
914
+ }
915
+ }
916
+ ]
917
+ },
918
+ "Contacts": {
919
+ "type": "relation",
920
+ "relation": [
921
+ {
922
+ "id": "c11"
923
+ },
924
+ {
925
+ "id": "c12"
926
+ }
927
+ ]
928
+ },
929
+ "Deals": {
930
+ "type": "relation",
931
+ "relation": [
932
+ {
933
+ "id": "d6"
934
+ }
935
+ ]
936
+ },
937
+ "Meetings": {
938
+ "type": "relation",
939
+ "relation": []
940
+ }
941
+ }
942
+ },
943
+ {
944
+ "id": "doc-acc-solstice",
945
+ "title": "Solstice Health",
946
+ "created_time": "2026-06-09T13:25:00.000Z",
947
+ "last_edited_time": "2026-07-26T17:55:00.000Z",
948
+ "properties": {
949
+ "Name": {
950
+ "type": "title",
951
+ "title": [
952
+ {
953
+ "type": "text",
954
+ "text": {
955
+ "content": "Solstice Health"
956
+ }
957
+ }
958
+ ]
959
+ },
960
+ "Tier": {
961
+ "type": "select",
962
+ "select": {
963
+ "name": "Growth",
964
+ "color": "blue"
965
+ }
966
+ },
967
+ "Status": {
968
+ "type": "status",
969
+ "status": {
970
+ "name": "Onboarding",
971
+ "color": "yellow"
972
+ }
973
+ },
974
+ "ARR": {
975
+ "type": "number",
976
+ "number": 74800
977
+ },
978
+ "Seats": {
979
+ "type": "number",
980
+ "number": 95
981
+ },
982
+ "Renewal": {
983
+ "type": "date",
984
+ "date": {
985
+ "start": "2027-06-09",
986
+ "end": null
987
+ }
988
+ },
989
+ "Owner": {
990
+ "type": "email",
991
+ "email": "sofia@notis.ai"
992
+ },
993
+ "Website": {
994
+ "type": "url",
995
+ "url": "https://solstice.example.com"
996
+ },
997
+ "Regions": {
998
+ "type": "multi_select",
999
+ "multi_select": [
1000
+ {
1001
+ "id": "rg-eu",
1002
+ "name": "EMEA",
1003
+ "color": "blue"
1004
+ },
1005
+ {
1006
+ "id": "rg-apac",
1007
+ "name": "APAC",
1008
+ "color": "pink"
1009
+ }
1010
+ ]
1011
+ },
1012
+ "Strategic": {
1013
+ "type": "checkbox",
1014
+ "checkbox": true
1015
+ },
1016
+ "Health score": {
1017
+ "type": "number",
1018
+ "number": 79
1019
+ },
1020
+ "Account notes": {
1021
+ "type": "rich_text",
1022
+ "rich_text": [
1023
+ {
1024
+ "type": "text",
1025
+ "text": {
1026
+ "content": "Compliance review cleared; kickoff booked for August."
1027
+ }
1028
+ }
1029
+ ]
1030
+ },
1031
+ "Contacts": {
1032
+ "type": "relation",
1033
+ "relation": [
1034
+ {
1035
+ "id": "c13"
1036
+ },
1037
+ {
1038
+ "id": "c14"
1039
+ },
1040
+ {
1041
+ "id": "c15"
1042
+ }
1043
+ ]
1044
+ },
1045
+ "Deals": {
1046
+ "type": "relation",
1047
+ "relation": [
1048
+ {
1049
+ "id": "d7"
1050
+ }
1051
+ ]
1052
+ },
1053
+ "Meetings": {
1054
+ "type": "relation",
1055
+ "relation": [
1056
+ {
1057
+ "id": "m8"
1058
+ },
1059
+ {
1060
+ "id": "m9"
1061
+ }
1062
+ ]
1063
+ }
1064
+ }
1065
+ },
1066
+ {
1067
+ "id": "doc-acc-kestrel",
1068
+ "title": "Kestrel Robotics",
1069
+ "created_time": "2026-01-20T10:30:00.000Z",
1070
+ "last_edited_time": "2026-07-28T08:40:00.000Z",
1071
+ "properties": {
1072
+ "Name": {
1073
+ "type": "title",
1074
+ "title": [
1075
+ {
1076
+ "type": "text",
1077
+ "text": {
1078
+ "content": "Kestrel Robotics"
1079
+ }
1080
+ }
1081
+ ]
1082
+ },
1083
+ "Tier": {
1084
+ "type": "select",
1085
+ "select": {
1086
+ "name": "Enterprise",
1087
+ "color": "purple"
1088
+ }
1089
+ },
1090
+ "Status": {
1091
+ "type": "status",
1092
+ "status": {
1093
+ "name": "Active",
1094
+ "color": "green"
1095
+ }
1096
+ },
1097
+ "ARR": {
1098
+ "type": "number",
1099
+ "number": 156000
1100
+ },
1101
+ "Seats": {
1102
+ "type": "number",
1103
+ "number": 205
1104
+ },
1105
+ "Renewal": {
1106
+ "type": "date",
1107
+ "date": {
1108
+ "start": "2027-01-20",
1109
+ "end": null
1110
+ }
1111
+ },
1112
+ "Owner": {
1113
+ "type": "email",
1114
+ "email": "lea@notis.ai"
1115
+ },
1116
+ "Website": {
1117
+ "type": "url",
1118
+ "url": "https://kestrel.example.com"
1119
+ },
1120
+ "Regions": {
1121
+ "type": "multi_select",
1122
+ "multi_select": [
1123
+ {
1124
+ "id": "rg-eu",
1125
+ "name": "EMEA",
1126
+ "color": "blue"
1127
+ },
1128
+ {
1129
+ "id": "rg-apac",
1130
+ "name": "APAC",
1131
+ "color": "pink"
1132
+ }
1133
+ ]
1134
+ },
1135
+ "Strategic": {
1136
+ "type": "checkbox",
1137
+ "checkbox": true
1138
+ },
1139
+ "Health score": {
1140
+ "type": "number",
1141
+ "number": 84
1142
+ },
1143
+ "Account notes": {
1144
+ "type": "rich_text",
1145
+ "rich_text": [
1146
+ {
1147
+ "type": "text",
1148
+ "text": {
1149
+ "content": "Shipped the API integration; usage doubled in June."
1150
+ }
1151
+ }
1152
+ ]
1153
+ },
1154
+ "Contacts": {
1155
+ "type": "relation",
1156
+ "relation": [
1157
+ {
1158
+ "id": "c0"
1159
+ },
1160
+ {
1161
+ "id": "c1"
1162
+ },
1163
+ {
1164
+ "id": "c2"
1165
+ },
1166
+ {
1167
+ "id": "c3"
1168
+ },
1169
+ {
1170
+ "id": "c4"
1171
+ }
1172
+ ]
1173
+ },
1174
+ "Deals": {
1175
+ "type": "relation",
1176
+ "relation": [
1177
+ {
1178
+ "id": "d0"
1179
+ },
1180
+ {
1181
+ "id": "d1"
1182
+ }
1183
+ ]
1184
+ },
1185
+ "Meetings": {
1186
+ "type": "relation",
1187
+ "relation": [
1188
+ {
1189
+ "id": "m0"
1190
+ },
1191
+ {
1192
+ "id": "m1"
1193
+ },
1194
+ {
1195
+ "id": "m2"
1196
+ },
1197
+ {
1198
+ "id": "m3"
1199
+ }
1200
+ ]
1201
+ }
1202
+ }
1203
+ },
1204
+ {
1205
+ "id": "doc-acc-pinewood",
1206
+ "title": "Pinewood Group",
1207
+ "created_time": "2025-12-05T09:00:00.000Z",
1208
+ "last_edited_time": "2026-07-22T14:12:00.000Z",
1209
+ "properties": {
1210
+ "Name": {
1211
+ "type": "title",
1212
+ "title": [
1213
+ {
1214
+ "type": "text",
1215
+ "text": {
1216
+ "content": "Pinewood Group"
1217
+ }
1218
+ }
1219
+ ]
1220
+ },
1221
+ "Tier": {
1222
+ "type": "select",
1223
+ "select": {
1224
+ "name": "Growth",
1225
+ "color": "blue"
1226
+ }
1227
+ },
1228
+ "Status": {
1229
+ "type": "status",
1230
+ "status": {
1231
+ "name": "Active",
1232
+ "color": "green"
1233
+ }
1234
+ },
1235
+ "ARR": {
1236
+ "type": "number",
1237
+ "number": 48900
1238
+ },
1239
+ "Seats": {
1240
+ "type": "number",
1241
+ "number": 64
1242
+ },
1243
+ "Renewal": {
1244
+ "type": "date",
1245
+ "date": {
1246
+ "start": "2026-12-05",
1247
+ "end": null
1248
+ }
1249
+ },
1250
+ "Owner": {
1251
+ "type": "email",
1252
+ "email": "marc@notis.ai"
1253
+ },
1254
+ "Website": {
1255
+ "type": "url",
1256
+ "url": "https://pinewood.example.com"
1257
+ },
1258
+ "Regions": {
1259
+ "type": "multi_select",
1260
+ "multi_select": [
1261
+ {
1262
+ "id": "rg-eu",
1263
+ "name": "EMEA",
1264
+ "color": "blue"
1265
+ }
1266
+ ]
1267
+ },
1268
+ "Strategic": {
1269
+ "type": "checkbox",
1270
+ "checkbox": false
1271
+ },
1272
+ "Health score": {
1273
+ "type": "number",
1274
+ "number": 71
1275
+ },
1276
+ "Account notes": {
1277
+ "type": "rich_text",
1278
+ "rich_text": [
1279
+ {
1280
+ "type": "text",
1281
+ "text": {
1282
+ "content": "Renewal call booked for October."
1283
+ }
1284
+ }
1285
+ ]
1286
+ },
1287
+ "Contacts": {
1288
+ "type": "relation",
1289
+ "relation": [
1290
+ {
1291
+ "id": "c0"
1292
+ },
1293
+ {
1294
+ "id": "c1"
1295
+ },
1296
+ {
1297
+ "id": "c2"
1298
+ }
1299
+ ]
1300
+ },
1301
+ "Deals": {
1302
+ "type": "relation",
1303
+ "relation": [
1304
+ {
1305
+ "id": "d0"
1306
+ }
1307
+ ]
1308
+ },
1309
+ "Meetings": {
1310
+ "type": "relation",
1311
+ "relation": [
1312
+ {
1313
+ "id": "m0"
1314
+ },
1315
+ {
1316
+ "id": "m1"
1317
+ }
1318
+ ]
1319
+ }
1320
+ }
1321
+ },
1322
+ {
1323
+ "id": "doc-acc-meridian",
1324
+ "title": "Meridian Bank",
1325
+ "created_time": "2026-04-30T08:15:00.000Z",
1326
+ "last_edited_time": "2026-07-27T11:05:00.000Z",
1327
+ "properties": {
1328
+ "Name": {
1329
+ "type": "title",
1330
+ "title": [
1331
+ {
1332
+ "type": "text",
1333
+ "text": {
1334
+ "content": "Meridian Bank"
1335
+ }
1336
+ }
1337
+ ]
1338
+ },
1339
+ "Tier": {
1340
+ "type": "select",
1341
+ "select": {
1342
+ "name": "Enterprise",
1343
+ "color": "purple"
1344
+ }
1345
+ },
1346
+ "Status": {
1347
+ "type": "status",
1348
+ "status": {
1349
+ "name": "Onboarding",
1350
+ "color": "yellow"
1351
+ }
1352
+ },
1353
+ "ARR": {
1354
+ "type": "number",
1355
+ "number": 320000
1356
+ },
1357
+ "Seats": {
1358
+ "type": "number",
1359
+ "number": 480
1360
+ },
1361
+ "Renewal": {
1362
+ "type": "date",
1363
+ "date": {
1364
+ "start": "2027-04-30",
1365
+ "end": null
1366
+ }
1367
+ },
1368
+ "Owner": {
1369
+ "type": "email",
1370
+ "email": "lea@notis.ai"
1371
+ },
1372
+ "Website": {
1373
+ "type": "url",
1374
+ "url": "https://meridian.example.com"
1375
+ },
1376
+ "Regions": {
1377
+ "type": "multi_select",
1378
+ "multi_select": [
1379
+ {
1380
+ "id": "rg-na",
1381
+ "name": "North America",
1382
+ "color": "orange"
1383
+ },
1384
+ {
1385
+ "id": "rg-eu",
1386
+ "name": "EMEA",
1387
+ "color": "blue"
1388
+ }
1389
+ ]
1390
+ },
1391
+ "Strategic": {
1392
+ "type": "checkbox",
1393
+ "checkbox": true
1394
+ },
1395
+ "Health score": {
1396
+ "type": "number",
1397
+ "number": 66
1398
+ },
1399
+ "Account notes": {
1400
+ "type": "rich_text",
1401
+ "rich_text": [
1402
+ {
1403
+ "type": "text",
1404
+ "text": {
1405
+ "content": "Security review passed; phased rollout starts in August."
1406
+ }
1407
+ }
1408
+ ]
1409
+ },
1410
+ "Contacts": {
1411
+ "type": "relation",
1412
+ "relation": [
1413
+ {
1414
+ "id": "c0"
1415
+ },
1416
+ {
1417
+ "id": "c1"
1418
+ },
1419
+ {
1420
+ "id": "c2"
1421
+ },
1422
+ {
1423
+ "id": "c3"
1424
+ },
1425
+ {
1426
+ "id": "c4"
1427
+ },
1428
+ {
1429
+ "id": "c5"
1430
+ },
1431
+ {
1432
+ "id": "c6"
1433
+ },
1434
+ {
1435
+ "id": "c7"
1436
+ }
1437
+ ]
1438
+ },
1439
+ "Deals": {
1440
+ "type": "relation",
1441
+ "relation": [
1442
+ {
1443
+ "id": "d0"
1444
+ },
1445
+ {
1446
+ "id": "d1"
1447
+ },
1448
+ {
1449
+ "id": "d2"
1450
+ }
1451
+ ]
1452
+ },
1453
+ "Meetings": {
1454
+ "type": "relation",
1455
+ "relation": [
1456
+ {
1457
+ "id": "m0"
1458
+ },
1459
+ {
1460
+ "id": "m1"
1461
+ },
1462
+ {
1463
+ "id": "m2"
1464
+ },
1465
+ {
1466
+ "id": "m3"
1467
+ },
1468
+ {
1469
+ "id": "m4"
1470
+ }
1471
+ ]
1472
+ }
1473
+ }
1474
+ },
1475
+ {
1476
+ "id": "doc-acc-tidepool",
1477
+ "title": "Tidepool Design",
1478
+ "created_time": "2025-11-11T16:45:00.000Z",
1479
+ "last_edited_time": "2026-07-15T10:20:00.000Z",
1480
+ "properties": {
1481
+ "Name": {
1482
+ "type": "title",
1483
+ "title": [
1484
+ {
1485
+ "type": "text",
1486
+ "text": {
1487
+ "content": "Tidepool Design"
1488
+ }
1489
+ }
1490
+ ]
1491
+ },
1492
+ "Tier": {
1493
+ "type": "select",
1494
+ "select": {
1495
+ "name": "Starter",
1496
+ "color": "green"
1497
+ }
1498
+ },
1499
+ "Status": {
1500
+ "type": "status",
1501
+ "status": {
1502
+ "name": "Active",
1503
+ "color": "green"
1504
+ }
1505
+ },
1506
+ "ARR": {
1507
+ "type": "number",
1508
+ "number": 7200
1509
+ },
1510
+ "Seats": {
1511
+ "type": "number",
1512
+ "number": 9
1513
+ },
1514
+ "Renewal": {
1515
+ "type": "date",
1516
+ "date": {
1517
+ "start": "2026-11-11",
1518
+ "end": null
1519
+ }
1520
+ },
1521
+ "Owner": {
1522
+ "type": "email",
1523
+ "email": "sofia@notis.ai"
1524
+ },
1525
+ "Website": {
1526
+ "type": "url",
1527
+ "url": "https://tidepool.example.com"
1528
+ },
1529
+ "Regions": {
1530
+ "type": "multi_select",
1531
+ "multi_select": [
1532
+ {
1533
+ "id": "rg-eu",
1534
+ "name": "EMEA",
1535
+ "color": "blue"
1536
+ }
1537
+ ]
1538
+ },
1539
+ "Strategic": {
1540
+ "type": "checkbox",
1541
+ "checkbox": false
1542
+ },
1543
+ "Health score": {
1544
+ "type": "number",
1545
+ "number": 95
1546
+ },
1547
+ "Account notes": {
1548
+ "type": "rich_text",
1549
+ "rich_text": [
1550
+ {
1551
+ "type": "text",
1552
+ "text": {
1553
+ "content": "Referred two other studios this quarter."
1554
+ }
1555
+ }
1556
+ ]
1557
+ },
1558
+ "Contacts": {
1559
+ "type": "relation",
1560
+ "relation": [
1561
+ {
1562
+ "id": "c0"
1563
+ }
1564
+ ]
1565
+ },
1566
+ "Deals": {
1567
+ "type": "relation",
1568
+ "relation": []
1569
+ },
1570
+ "Meetings": {
1571
+ "type": "relation",
1572
+ "relation": [
1573
+ {
1574
+ "id": "m0"
1575
+ }
1576
+ ]
1577
+ }
1578
+ }
1579
+ },
1580
+ {
1581
+ "id": "doc-acc-brightline",
1582
+ "title": "Brightline Media",
1583
+ "created_time": "2025-10-18T13:00:00.000Z",
1584
+ "last_edited_time": "2026-06-30T09:35:00.000Z",
1585
+ "properties": {
1586
+ "Name": {
1587
+ "type": "title",
1588
+ "title": [
1589
+ {
1590
+ "type": "text",
1591
+ "text": {
1592
+ "content": "Brightline Media"
1593
+ }
1594
+ }
1595
+ ]
1596
+ },
1597
+ "Tier": {
1598
+ "type": "select",
1599
+ "select": {
1600
+ "name": "Growth",
1601
+ "color": "blue"
1602
+ }
1603
+ },
1604
+ "Status": {
1605
+ "type": "status",
1606
+ "status": {
1607
+ "name": "Paused",
1608
+ "color": "gray"
1609
+ }
1610
+ },
1611
+ "ARR": {
1612
+ "type": "number",
1613
+ "number": 54000
1614
+ },
1615
+ "Seats": {
1616
+ "type": "number",
1617
+ "number": 70
1618
+ },
1619
+ "Renewal": {
1620
+ "type": "date",
1621
+ "date": {
1622
+ "start": "2026-10-18",
1623
+ "end": null
1624
+ }
1625
+ },
1626
+ "Owner": {
1627
+ "type": "email",
1628
+ "email": "marc@notis.ai"
1629
+ },
1630
+ "Website": {
1631
+ "type": "url",
1632
+ "url": "https://brightline.example.com"
1633
+ },
1634
+ "Regions": {
1635
+ "type": "multi_select",
1636
+ "multi_select": [
1637
+ {
1638
+ "id": "rg-na",
1639
+ "name": "North America",
1640
+ "color": "orange"
1641
+ }
1642
+ ]
1643
+ },
1644
+ "Strategic": {
1645
+ "type": "checkbox",
1646
+ "checkbox": false
1647
+ },
1648
+ "Health score": {
1649
+ "type": "number",
1650
+ "number": 44
1651
+ },
1652
+ "Account notes": {
1653
+ "type": "rich_text",
1654
+ "rich_text": [
1655
+ {
1656
+ "type": "text",
1657
+ "text": {
1658
+ "content": "Budget freeze until their new CFO starts."
1659
+ }
1660
+ }
1661
+ ]
1662
+ },
1663
+ "Contacts": {
1664
+ "type": "relation",
1665
+ "relation": [
1666
+ {
1667
+ "id": "c0"
1668
+ },
1669
+ {
1670
+ "id": "c1"
1671
+ },
1672
+ {
1673
+ "id": "c2"
1674
+ },
1675
+ {
1676
+ "id": "c3"
1677
+ }
1678
+ ]
1679
+ },
1680
+ "Deals": {
1681
+ "type": "relation",
1682
+ "relation": [
1683
+ {
1684
+ "id": "d0"
1685
+ }
1686
+ ]
1687
+ },
1688
+ "Meetings": {
1689
+ "type": "relation",
1690
+ "relation": [
1691
+ {
1692
+ "id": "m0"
1693
+ },
1694
+ {
1695
+ "id": "m1"
1696
+ }
1697
+ ]
1698
+ }
1699
+ }
1700
+ },
1701
+ {
1702
+ "id": "doc-acc-orchard",
1703
+ "title": "Orchard Labs",
1704
+ "created_time": "2025-08-25T11:20:00.000Z",
1705
+ "last_edited_time": "2026-07-09T16:50:00.000Z",
1706
+ "properties": {
1707
+ "Name": {
1708
+ "type": "title",
1709
+ "title": [
1710
+ {
1711
+ "type": "text",
1712
+ "text": {
1713
+ "content": "Orchard Labs"
1714
+ }
1715
+ }
1716
+ ]
1717
+ },
1718
+ "Tier": {
1719
+ "type": "select",
1720
+ "select": {
1721
+ "name": "Churn risk",
1722
+ "color": "red"
1723
+ }
1724
+ },
1725
+ "Status": {
1726
+ "type": "status",
1727
+ "status": {
1728
+ "name": "Active",
1729
+ "color": "green"
1730
+ }
1731
+ },
1732
+ "ARR": {
1733
+ "type": "number",
1734
+ "number": 22400
1735
+ },
1736
+ "Seats": {
1737
+ "type": "number",
1738
+ "number": 28
1739
+ },
1740
+ "Renewal": {
1741
+ "type": "date",
1742
+ "date": {
1743
+ "start": "2026-08-25",
1744
+ "end": null
1745
+ }
1746
+ },
1747
+ "Owner": {
1748
+ "type": "email",
1749
+ "email": "sofia@notis.ai"
1750
+ },
1751
+ "Website": {
1752
+ "type": "url",
1753
+ "url": "https://orchard.example.com"
1754
+ },
1755
+ "Regions": {
1756
+ "type": "multi_select",
1757
+ "multi_select": [
1758
+ {
1759
+ "id": "rg-apac",
1760
+ "name": "APAC",
1761
+ "color": "pink"
1762
+ }
1763
+ ]
1764
+ },
1765
+ "Strategic": {
1766
+ "type": "checkbox",
1767
+ "checkbox": false
1768
+ },
1769
+ "Health score": {
1770
+ "type": "number",
1771
+ "number": 41
1772
+ },
1773
+ "Account notes": {
1774
+ "type": "rich_text",
1775
+ "rich_text": [
1776
+ {
1777
+ "type": "text",
1778
+ "text": {
1779
+ "content": "Low usage since March. Needs an onboarding reset."
1780
+ }
1781
+ }
1782
+ ]
1783
+ },
1784
+ "Contacts": {
1785
+ "type": "relation",
1786
+ "relation": [
1787
+ {
1788
+ "id": "c0"
1789
+ },
1790
+ {
1791
+ "id": "c1"
1792
+ }
1793
+ ]
1794
+ },
1795
+ "Deals": {
1796
+ "type": "relation",
1797
+ "relation": [
1798
+ {
1799
+ "id": "d0"
1800
+ }
1801
+ ]
1802
+ },
1803
+ "Meetings": {
1804
+ "type": "relation",
1805
+ "relation": [
1806
+ {
1807
+ "id": "m0"
1808
+ }
1809
+ ]
1810
+ }
1811
+ }
1812
+ }
1813
+ ]
1814
+ }
1815
+ },
1816
+ "scenarios": {
1817
+ "catalog-properties": {
1818
+ "actions": []
1819
+ },
1820
+ "catalog-relations": {
1821
+ "actions": [
1822
+ {
1823
+ "type": "click",
1824
+ "selector": "[data-tab='relations']",
1825
+ "settle_ms": 500
1826
+ }
1827
+ ]
1828
+ },
1829
+ "catalog-documents": {
1830
+ "actions": [
1831
+ {
1832
+ "type": "click",
1833
+ "selector": "[data-tab='documents']",
1834
+ "settle_ms": 900
1835
+ }
1836
+ ]
1837
+ }
1838
+ }
1839
+ }