@synap-core/workspace-templates 0.7.3 → 0.8.0
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.
- package/dist/index.js +881 -148
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/crm.yaml +16 -0
- package/src/enterprise-os.yaml +4 -0
- package/src/networking.yaml +597 -0
- package/src/operations.yaml +7 -3
- package/src/templates.ts +873 -148
- package/src/the-arch.yaml +14 -0
package/dist/index.js
CHANGED
|
@@ -9616,6 +9616,13 @@ var DATA = {
|
|
|
9616
9616
|
"description": "An organisation being qualified or sold to.",
|
|
9617
9617
|
"scope": "WORKSPACE",
|
|
9618
9618
|
"properties": [
|
|
9619
|
+
{
|
|
9620
|
+
"slug": "contextSummary",
|
|
9621
|
+
"label": "Context",
|
|
9622
|
+
"valueType": "string",
|
|
9623
|
+
"inputType": "textarea",
|
|
9624
|
+
"placeholder": "The AI-maintained one-paragraph summary of who this client is and where they stand."
|
|
9625
|
+
},
|
|
9619
9626
|
{
|
|
9620
9627
|
"slug": "website",
|
|
9621
9628
|
"label": "Website",
|
|
@@ -9714,6 +9721,22 @@ var DATA = {
|
|
|
9714
9721
|
"inactive"
|
|
9715
9722
|
]
|
|
9716
9723
|
},
|
|
9724
|
+
{
|
|
9725
|
+
"slug": "commercialStage",
|
|
9726
|
+
"label": "Commercial stage",
|
|
9727
|
+
"valueType": "string",
|
|
9728
|
+
"inputType": "select",
|
|
9729
|
+
"enumValues": [
|
|
9730
|
+
"draft",
|
|
9731
|
+
"proposed",
|
|
9732
|
+
"negotiating",
|
|
9733
|
+
"won",
|
|
9734
|
+
"lost"
|
|
9735
|
+
],
|
|
9736
|
+
"constraints": {
|
|
9737
|
+
"defaultValue": "draft"
|
|
9738
|
+
}
|
|
9739
|
+
},
|
|
9717
9740
|
{
|
|
9718
9741
|
"slug": "valueType",
|
|
9719
9742
|
"label": "Value type",
|
|
@@ -12560,6 +12583,12 @@ var DATA = {
|
|
|
12560
12583
|
"relation": "require",
|
|
12561
12584
|
"reason": "The pipeline \u2014 contacts, leads, clients, and deals."
|
|
12562
12585
|
},
|
|
12586
|
+
{
|
|
12587
|
+
"slug": "business-developer",
|
|
12588
|
+
"kind": "workspace",
|
|
12589
|
+
"relation": "require",
|
|
12590
|
+
"reason": "The lead-first sales motion (crm-lead/crm-client roles, commercial proposals, commission handoff) that the CRM app runs on. Composes onto the CRM workspace above \u2014 without it the CRM lens is provisioned with pod-wide lead/client only and the app's pipeline is empty."
|
|
12591
|
+
},
|
|
12563
12592
|
{
|
|
12564
12593
|
"slug": "content-os",
|
|
12565
12594
|
"kind": "workspace",
|
|
@@ -22085,108 +22114,122 @@ var DATA = {
|
|
|
22085
22114
|
]
|
|
22086
22115
|
}
|
|
22087
22116
|
},
|
|
22088
|
-
"
|
|
22117
|
+
"networking": {
|
|
22089
22118
|
"meta": {
|
|
22090
|
-
"slug": "
|
|
22091
|
-
"domain": "
|
|
22092
|
-
"name": "
|
|
22093
|
-
"description": "
|
|
22094
|
-
"icon": "
|
|
22095
|
-
"color": "#
|
|
22119
|
+
"slug": "networking",
|
|
22120
|
+
"domain": "revenue",
|
|
22121
|
+
"name": "Networking",
|
|
22122
|
+
"description": "The BD-middleman layer over your CRM \u2014 capture client needs, keep a roster of solution providers, and broker the intros that connect demand to supply.",
|
|
22123
|
+
"icon": "waypoints",
|
|
22124
|
+
"color": "#6366F1",
|
|
22096
22125
|
"tags": [
|
|
22097
|
-
"
|
|
22098
|
-
"
|
|
22099
|
-
"
|
|
22100
|
-
"
|
|
22126
|
+
"networking",
|
|
22127
|
+
"business-development",
|
|
22128
|
+
"matchmaking",
|
|
22129
|
+
"intros",
|
|
22130
|
+
"middleman"
|
|
22101
22131
|
],
|
|
22102
22132
|
"isPublic": true
|
|
22103
22133
|
},
|
|
22104
|
-
"workspace": {
|
|
22105
|
-
"name": "Operations",
|
|
22106
|
-
"description": "The client-delivery layer \u2014 active engagements, their deliverables, and the contracts that govern them.",
|
|
22107
|
-
"subtype": "operations",
|
|
22108
|
-
"visibility": "pod_visible",
|
|
22109
|
-
"capabilities": [
|
|
22110
|
-
"operations.engagements",
|
|
22111
|
-
"operations.deliverables",
|
|
22112
|
-
"operations.contracts"
|
|
22113
|
-
],
|
|
22114
|
-
"sourceRoles": {
|
|
22115
|
-
"crm": "consumer",
|
|
22116
|
-
"operations": "provider"
|
|
22117
|
-
}
|
|
22118
|
-
},
|
|
22119
22134
|
"dependencies": [
|
|
22135
|
+
{
|
|
22136
|
+
"slug": "crm",
|
|
22137
|
+
"kind": "workspace",
|
|
22138
|
+
"relation": "compose",
|
|
22139
|
+
"reason": "Adds a needs \u2192 intros brokerage workflow onto your CRM workspace."
|
|
22140
|
+
},
|
|
22120
22141
|
{
|
|
22121
22142
|
"slug": "foundation",
|
|
22122
22143
|
"kind": "workspace",
|
|
22123
22144
|
"relation": "require",
|
|
22124
|
-
"reason": "Provides the pod-wide
|
|
22145
|
+
"reason": "Provides the pod-wide client/partner role vocabulary the CRM base reuses."
|
|
22125
22146
|
}
|
|
22126
22147
|
],
|
|
22148
|
+
"workspace": {
|
|
22149
|
+
"name": "Networking",
|
|
22150
|
+
"description": "A brokerage workspace layered on your CRM \u2014 client needs, a provider roster, and the intros that connect them.",
|
|
22151
|
+
"proposalId": "networking-v1",
|
|
22152
|
+
"subtype": "crm"
|
|
22153
|
+
},
|
|
22127
22154
|
"profiles": [
|
|
22128
22155
|
{
|
|
22129
|
-
"slug": "
|
|
22130
|
-
"displayName": "
|
|
22131
|
-
"icon": "
|
|
22132
|
-
"color": "
|
|
22133
|
-
"description": "A
|
|
22156
|
+
"slug": "need",
|
|
22157
|
+
"displayName": "Need",
|
|
22158
|
+
"icon": "target",
|
|
22159
|
+
"color": "amber",
|
|
22160
|
+
"description": "A client's stated ask \u2014 the demand The Arch brokers a provider against.",
|
|
22161
|
+
"scope": "WORKSPACE",
|
|
22134
22162
|
"properties": [
|
|
22135
22163
|
{
|
|
22136
|
-
"slug": "
|
|
22164
|
+
"slug": "needStatus",
|
|
22137
22165
|
"label": "Status",
|
|
22138
22166
|
"valueType": "string",
|
|
22139
22167
|
"inputType": "select",
|
|
22140
22168
|
"enumValues": [
|
|
22141
|
-
"
|
|
22142
|
-
"
|
|
22143
|
-
"
|
|
22144
|
-
"
|
|
22145
|
-
"
|
|
22169
|
+
"open",
|
|
22170
|
+
"matching",
|
|
22171
|
+
"intro-made",
|
|
22172
|
+
"satisfied",
|
|
22173
|
+
"dropped"
|
|
22146
22174
|
],
|
|
22147
22175
|
"constraints": {
|
|
22148
|
-
"defaultValue": "
|
|
22176
|
+
"defaultValue": "open"
|
|
22149
22177
|
}
|
|
22150
22178
|
},
|
|
22151
22179
|
{
|
|
22152
|
-
"slug": "
|
|
22153
|
-
"label": "
|
|
22154
|
-
"valueType": "
|
|
22155
|
-
"
|
|
22156
|
-
"
|
|
22180
|
+
"slug": "domain",
|
|
22181
|
+
"label": "Domain",
|
|
22182
|
+
"valueType": "string",
|
|
22183
|
+
"inputType": "text",
|
|
22184
|
+
"placeholder": "The area of the ask \u2014 e.g. market-making, audit, design."
|
|
22157
22185
|
},
|
|
22158
22186
|
{
|
|
22159
|
-
"slug": "
|
|
22160
|
-
"label": "
|
|
22161
|
-
"valueType": "
|
|
22162
|
-
"inputType": "
|
|
22187
|
+
"slug": "urgency",
|
|
22188
|
+
"label": "Urgency",
|
|
22189
|
+
"valueType": "string",
|
|
22190
|
+
"inputType": "text"
|
|
22163
22191
|
},
|
|
22164
22192
|
{
|
|
22165
|
-
"slug": "
|
|
22166
|
-
"label": "
|
|
22167
|
-
"valueType": "
|
|
22168
|
-
"inputType": "
|
|
22193
|
+
"slug": "budgetRange",
|
|
22194
|
+
"label": "Budget Range",
|
|
22195
|
+
"valueType": "string",
|
|
22196
|
+
"inputType": "text"
|
|
22169
22197
|
},
|
|
22170
22198
|
{
|
|
22171
|
-
"slug": "
|
|
22172
|
-
"label": "
|
|
22173
|
-
"valueType": "
|
|
22174
|
-
"inputType": "
|
|
22199
|
+
"slug": "requesterCompanyId",
|
|
22200
|
+
"label": "Requester",
|
|
22201
|
+
"valueType": "entity_id",
|
|
22202
|
+
"inputType": "entity_select",
|
|
22203
|
+
"targetProfileSlug": "company"
|
|
22175
22204
|
},
|
|
22176
22205
|
{
|
|
22177
|
-
"slug": "
|
|
22178
|
-
"label": "
|
|
22206
|
+
"slug": "confidentiality",
|
|
22207
|
+
"label": "Confidentiality",
|
|
22179
22208
|
"valueType": "string",
|
|
22180
|
-
"inputType": "
|
|
22209
|
+
"inputType": "select",
|
|
22210
|
+
"enumValues": [
|
|
22211
|
+
"shareable",
|
|
22212
|
+
"confidential"
|
|
22213
|
+
],
|
|
22214
|
+
"constraints": {
|
|
22215
|
+
"defaultValue": "confidential"
|
|
22216
|
+
}
|
|
22181
22217
|
},
|
|
22182
22218
|
{
|
|
22183
|
-
"slug": "
|
|
22184
|
-
"label": "
|
|
22219
|
+
"slug": "evidenceQuote",
|
|
22220
|
+
"label": "Evidence Quote",
|
|
22221
|
+
"valueType": "string",
|
|
22222
|
+
"inputType": "textarea",
|
|
22223
|
+
"placeholder": "The client's own words that captured this need."
|
|
22224
|
+
},
|
|
22225
|
+
{
|
|
22226
|
+
"slug": "sourceMessageId",
|
|
22227
|
+
"label": "Source Message ID",
|
|
22185
22228
|
"valueType": "string",
|
|
22186
22229
|
"inputType": "text"
|
|
22187
22230
|
},
|
|
22188
22231
|
{
|
|
22189
|
-
"slug": "
|
|
22232
|
+
"slug": "notes",
|
|
22190
22233
|
"label": "Notes",
|
|
22191
22234
|
"valueType": "string",
|
|
22192
22235
|
"inputType": "textarea"
|
|
@@ -22194,135 +22237,817 @@ var DATA = {
|
|
|
22194
22237
|
]
|
|
22195
22238
|
},
|
|
22196
22239
|
{
|
|
22197
|
-
"slug": "
|
|
22198
|
-
"displayName": "
|
|
22199
|
-
"icon": "
|
|
22200
|
-
"color": "
|
|
22201
|
-
"description": "
|
|
22240
|
+
"slug": "intro",
|
|
22241
|
+
"displayName": "Intro",
|
|
22242
|
+
"icon": "waypoints",
|
|
22243
|
+
"color": "violet",
|
|
22244
|
+
"description": "The middleman brokerage artifact \u2014 connects a requester to a provider for a need, and bills the match as a deal.",
|
|
22245
|
+
"scope": "WORKSPACE",
|
|
22202
22246
|
"properties": [
|
|
22203
22247
|
{
|
|
22204
|
-
"slug": "
|
|
22205
|
-
"label": "
|
|
22248
|
+
"slug": "introStage",
|
|
22249
|
+
"label": "Stage",
|
|
22206
22250
|
"valueType": "string",
|
|
22207
22251
|
"inputType": "select",
|
|
22208
22252
|
"enumValues": [
|
|
22209
|
-
"
|
|
22210
|
-
"
|
|
22211
|
-
"
|
|
22212
|
-
"
|
|
22213
|
-
"
|
|
22253
|
+
"identified",
|
|
22254
|
+
"proposed",
|
|
22255
|
+
"approved",
|
|
22256
|
+
"introduced",
|
|
22257
|
+
"in-discussion",
|
|
22258
|
+
"signed",
|
|
22259
|
+
"dead"
|
|
22214
22260
|
],
|
|
22215
22261
|
"constraints": {
|
|
22216
|
-
"defaultValue": "
|
|
22262
|
+
"defaultValue": "identified"
|
|
22217
22263
|
}
|
|
22218
22264
|
},
|
|
22219
22265
|
{
|
|
22220
|
-
"slug": "
|
|
22221
|
-
"label": "
|
|
22266
|
+
"slug": "requesterCompanyId",
|
|
22267
|
+
"label": "Requester",
|
|
22222
22268
|
"valueType": "entity_id",
|
|
22223
|
-
"
|
|
22224
|
-
"
|
|
22269
|
+
"inputType": "entity_select",
|
|
22270
|
+
"targetProfileSlug": "company"
|
|
22225
22271
|
},
|
|
22226
22272
|
{
|
|
22227
|
-
"slug": "
|
|
22228
|
-
"label": "
|
|
22229
|
-
"valueType": "
|
|
22230
|
-
"inputType": "
|
|
22273
|
+
"slug": "providerCompanyId",
|
|
22274
|
+
"label": "Provider",
|
|
22275
|
+
"valueType": "entity_id",
|
|
22276
|
+
"inputType": "entity_select",
|
|
22277
|
+
"targetProfileSlug": "company"
|
|
22231
22278
|
},
|
|
22232
22279
|
{
|
|
22233
|
-
"slug": "
|
|
22234
|
-
"label": "
|
|
22235
|
-
"valueType": "
|
|
22236
|
-
"inputType": "
|
|
22280
|
+
"slug": "needId",
|
|
22281
|
+
"label": "Need",
|
|
22282
|
+
"valueType": "entity_id",
|
|
22283
|
+
"inputType": "entity_select",
|
|
22284
|
+
"targetProfileSlug": "need"
|
|
22237
22285
|
},
|
|
22238
22286
|
{
|
|
22239
|
-
"slug": "
|
|
22240
|
-
"label": "
|
|
22287
|
+
"slug": "synapFeeModel",
|
|
22288
|
+
"label": "Synap fee model",
|
|
22241
22289
|
"valueType": "string",
|
|
22242
|
-
"inputType": "
|
|
22290
|
+
"inputType": "select",
|
|
22291
|
+
"enumValues": [
|
|
22292
|
+
"fixed",
|
|
22293
|
+
"success_fee"
|
|
22294
|
+
]
|
|
22243
22295
|
},
|
|
22244
22296
|
{
|
|
22245
|
-
"slug": "
|
|
22246
|
-
"label": "
|
|
22247
|
-
"valueType": "
|
|
22248
|
-
"inputType": "
|
|
22249
|
-
}
|
|
22250
|
-
]
|
|
22251
|
-
},
|
|
22252
|
-
{
|
|
22253
|
-
"slug": "contract",
|
|
22254
|
-
"displayName": "Contract",
|
|
22255
|
-
"icon": "file-signature",
|
|
22256
|
-
"color": "#8B5CF6",
|
|
22257
|
-
"description": "The agreement that governs an engagement \u2014 its status, value, term, and signed document.",
|
|
22258
|
-
"properties": [
|
|
22297
|
+
"slug": "synapSuccessFeeRate",
|
|
22298
|
+
"label": "Synap success fee rate",
|
|
22299
|
+
"valueType": "number",
|
|
22300
|
+
"inputType": "number"
|
|
22301
|
+
},
|
|
22259
22302
|
{
|
|
22260
|
-
"slug": "
|
|
22261
|
-
"label": "
|
|
22262
|
-
"valueType": "
|
|
22263
|
-
"inputType": "
|
|
22264
|
-
"enumValues": [
|
|
22265
|
-
"draft",
|
|
22266
|
-
"sent",
|
|
22267
|
-
"signed",
|
|
22268
|
-
"active",
|
|
22269
|
-
"expired",
|
|
22270
|
-
"terminated"
|
|
22271
|
-
],
|
|
22272
|
-
"constraints": {
|
|
22273
|
-
"defaultValue": "draft"
|
|
22274
|
-
}
|
|
22303
|
+
"slug": "synapFixedFee",
|
|
22304
|
+
"label": "Synap fixed fee",
|
|
22305
|
+
"valueType": "number",
|
|
22306
|
+
"inputType": "number"
|
|
22275
22307
|
},
|
|
22276
22308
|
{
|
|
22277
|
-
"slug": "
|
|
22278
|
-
"label": "
|
|
22279
|
-
"valueType": "
|
|
22280
|
-
"
|
|
22281
|
-
"inputType": "entity_select"
|
|
22309
|
+
"slug": "expectedClientGain",
|
|
22310
|
+
"label": "Expected client gain",
|
|
22311
|
+
"valueType": "number",
|
|
22312
|
+
"inputType": "number"
|
|
22282
22313
|
},
|
|
22283
22314
|
{
|
|
22284
|
-
"slug": "
|
|
22285
|
-
"label": "
|
|
22315
|
+
"slug": "synapFeeAmount",
|
|
22316
|
+
"label": "Synap fee amount",
|
|
22286
22317
|
"valueType": "number",
|
|
22287
22318
|
"inputType": "number"
|
|
22288
22319
|
},
|
|
22289
22320
|
{
|
|
22290
|
-
"slug": "
|
|
22291
|
-
"label": "
|
|
22292
|
-
"valueType": "
|
|
22293
|
-
"inputType": "
|
|
22321
|
+
"slug": "sourcedByUserId",
|
|
22322
|
+
"label": "Sourced by user ID",
|
|
22323
|
+
"valueType": "string",
|
|
22324
|
+
"inputType": "text"
|
|
22294
22325
|
},
|
|
22295
22326
|
{
|
|
22296
|
-
"slug": "
|
|
22297
|
-
"label": "
|
|
22327
|
+
"slug": "commissionStatus",
|
|
22328
|
+
"label": "Commission status",
|
|
22329
|
+
"valueType": "string",
|
|
22330
|
+
"inputType": "select",
|
|
22331
|
+
"enumValues": [
|
|
22332
|
+
"estimated",
|
|
22333
|
+
"earned",
|
|
22334
|
+
"paid",
|
|
22335
|
+
"requires_review",
|
|
22336
|
+
"void"
|
|
22337
|
+
]
|
|
22338
|
+
},
|
|
22339
|
+
{
|
|
22340
|
+
"slug": "introducedAt",
|
|
22341
|
+
"label": "Introduced at",
|
|
22298
22342
|
"valueType": "date",
|
|
22299
22343
|
"inputType": "date"
|
|
22300
22344
|
},
|
|
22301
22345
|
{
|
|
22302
|
-
"slug": "
|
|
22303
|
-
"label": "
|
|
22346
|
+
"slug": "outcome",
|
|
22347
|
+
"label": "Outcome",
|
|
22304
22348
|
"valueType": "string",
|
|
22305
|
-
"inputType": "
|
|
22349
|
+
"inputType": "textarea"
|
|
22306
22350
|
},
|
|
22307
22351
|
{
|
|
22308
|
-
"slug": "
|
|
22309
|
-
"label": "
|
|
22352
|
+
"slug": "deadReason",
|
|
22353
|
+
"label": "Dead reason",
|
|
22310
22354
|
"valueType": "string",
|
|
22311
22355
|
"inputType": "textarea"
|
|
22312
22356
|
}
|
|
22313
22357
|
]
|
|
22314
22358
|
},
|
|
22315
22359
|
{
|
|
22316
|
-
"slug": "
|
|
22317
|
-
"displayName": "
|
|
22318
|
-
"icon": "
|
|
22319
|
-
"color": "
|
|
22320
|
-
"description": "A
|
|
22321
|
-
"
|
|
22322
|
-
|
|
22323
|
-
|
|
22324
|
-
|
|
22325
|
-
|
|
22360
|
+
"slug": "solution-provider",
|
|
22361
|
+
"displayName": "Solution Provider",
|
|
22362
|
+
"icon": "handshake",
|
|
22363
|
+
"color": "teal",
|
|
22364
|
+
"description": "A company or person that provides a capability The Arch can broker a client need against.",
|
|
22365
|
+
"scope": "shared",
|
|
22366
|
+
"profileKind": "role",
|
|
22367
|
+
"applicableKinds": [
|
|
22368
|
+
"company",
|
|
22369
|
+
"person"
|
|
22370
|
+
],
|
|
22371
|
+
"properties": [
|
|
22372
|
+
{
|
|
22373
|
+
"slug": "status",
|
|
22374
|
+
"label": "Status",
|
|
22375
|
+
"valueType": "string",
|
|
22376
|
+
"inputType": "select",
|
|
22377
|
+
"enumValues": [
|
|
22378
|
+
"prospect",
|
|
22379
|
+
"active",
|
|
22380
|
+
"paused",
|
|
22381
|
+
"churned"
|
|
22382
|
+
]
|
|
22383
|
+
},
|
|
22384
|
+
{
|
|
22385
|
+
"slug": "domains",
|
|
22386
|
+
"label": "Domains",
|
|
22387
|
+
"valueType": "array",
|
|
22388
|
+
"inputType": "text",
|
|
22389
|
+
"placeholder": "The capability areas this provider covers."
|
|
22390
|
+
},
|
|
22391
|
+
{
|
|
22392
|
+
"slug": "capacity",
|
|
22393
|
+
"label": "Capacity",
|
|
22394
|
+
"valueType": "string",
|
|
22395
|
+
"inputType": "text"
|
|
22396
|
+
},
|
|
22397
|
+
{
|
|
22398
|
+
"slug": "pricingNotes",
|
|
22399
|
+
"label": "Pricing Notes",
|
|
22400
|
+
"valueType": "string",
|
|
22401
|
+
"inputType": "textarea"
|
|
22402
|
+
},
|
|
22403
|
+
{
|
|
22404
|
+
"slug": "geography",
|
|
22405
|
+
"label": "Geography",
|
|
22406
|
+
"valueType": "string",
|
|
22407
|
+
"inputType": "text"
|
|
22408
|
+
},
|
|
22409
|
+
{
|
|
22410
|
+
"slug": "notes",
|
|
22411
|
+
"label": "Notes",
|
|
22412
|
+
"valueType": "string",
|
|
22413
|
+
"inputType": "textarea"
|
|
22414
|
+
}
|
|
22415
|
+
]
|
|
22416
|
+
}
|
|
22417
|
+
],
|
|
22418
|
+
"entityLinks": [
|
|
22419
|
+
{
|
|
22420
|
+
"sourceProfileSlug": "need",
|
|
22421
|
+
"targetProfileSlug": "company",
|
|
22422
|
+
"type": "needed_by",
|
|
22423
|
+
"label": "Needed by"
|
|
22424
|
+
},
|
|
22425
|
+
{
|
|
22426
|
+
"sourceProfileSlug": "intro",
|
|
22427
|
+
"targetProfileSlug": "need",
|
|
22428
|
+
"type": "resolves",
|
|
22429
|
+
"label": "Resolves"
|
|
22430
|
+
},
|
|
22431
|
+
{
|
|
22432
|
+
"sourceProfileSlug": "intro",
|
|
22433
|
+
"targetProfileSlug": "company",
|
|
22434
|
+
"type": "introduced_requester",
|
|
22435
|
+
"label": "Requester"
|
|
22436
|
+
},
|
|
22437
|
+
{
|
|
22438
|
+
"sourceProfileSlug": "intro",
|
|
22439
|
+
"targetProfileSlug": "company",
|
|
22440
|
+
"type": "introduced_provider",
|
|
22441
|
+
"label": "Provider"
|
|
22442
|
+
},
|
|
22443
|
+
{
|
|
22444
|
+
"sourceProfileSlug": "intro",
|
|
22445
|
+
"targetProfileSlug": "deal",
|
|
22446
|
+
"type": "billed_as",
|
|
22447
|
+
"label": "Billed as"
|
|
22448
|
+
}
|
|
22449
|
+
],
|
|
22450
|
+
"views": [
|
|
22451
|
+
{
|
|
22452
|
+
"name": "Needs",
|
|
22453
|
+
"slug": "needs",
|
|
22454
|
+
"type": "kanban",
|
|
22455
|
+
"scopeProfileSlug": "need",
|
|
22456
|
+
"description": "Client needs on a board by status \u2014 open demand waiting for a match.",
|
|
22457
|
+
"config": {
|
|
22458
|
+
"groupByField": "needStatus"
|
|
22459
|
+
}
|
|
22460
|
+
},
|
|
22461
|
+
{
|
|
22462
|
+
"name": "Intros",
|
|
22463
|
+
"slug": "intros",
|
|
22464
|
+
"type": "kanban",
|
|
22465
|
+
"scopeProfileSlug": "intro",
|
|
22466
|
+
"description": "Brokered intros on a board by stage \u2014 from identified match to signed.",
|
|
22467
|
+
"config": {
|
|
22468
|
+
"groupByField": "introStage"
|
|
22469
|
+
}
|
|
22470
|
+
},
|
|
22471
|
+
{
|
|
22472
|
+
"name": "Providers",
|
|
22473
|
+
"slug": "providers",
|
|
22474
|
+
"type": "table",
|
|
22475
|
+
"scopeProfileSlug": "solution-provider",
|
|
22476
|
+
"description": "The solution-provider roster \u2014 companies wearing the provider role, by status.",
|
|
22477
|
+
"config": {
|
|
22478
|
+
"columns": [
|
|
22479
|
+
"title",
|
|
22480
|
+
"status",
|
|
22481
|
+
"domains",
|
|
22482
|
+
"geography",
|
|
22483
|
+
"capacity"
|
|
22484
|
+
]
|
|
22485
|
+
}
|
|
22486
|
+
}
|
|
22487
|
+
],
|
|
22488
|
+
"automations": [
|
|
22489
|
+
{
|
|
22490
|
+
"key": "networking-intro-matcher",
|
|
22491
|
+
"name": "Intro Matcher",
|
|
22492
|
+
"description": "Once a day, match each shareable open client need against the solution-provider roster, propose an intro for the best fit, and post a match brief to The Arch's internal team channel \u2014 never to a client's own channel.",
|
|
22493
|
+
"triggerType": "cron",
|
|
22494
|
+
"triggerConfig": {
|
|
22495
|
+
"expression": "0 9 * * *"
|
|
22496
|
+
},
|
|
22497
|
+
"status": "active",
|
|
22498
|
+
"metadata": {
|
|
22499
|
+
"templateKey": "networking-intro-matcher"
|
|
22500
|
+
},
|
|
22501
|
+
"flow": {
|
|
22502
|
+
"nodes": [
|
|
22503
|
+
{
|
|
22504
|
+
"id": "trigger",
|
|
22505
|
+
"type": "trigger",
|
|
22506
|
+
"position": {
|
|
22507
|
+
"x": 0,
|
|
22508
|
+
"y": 0
|
|
22509
|
+
},
|
|
22510
|
+
"data": {
|
|
22511
|
+
"label": "Daily at 09:00",
|
|
22512
|
+
"triggerType": "cron",
|
|
22513
|
+
"config": {
|
|
22514
|
+
"expression": "0 9 * * *"
|
|
22515
|
+
}
|
|
22516
|
+
}
|
|
22517
|
+
},
|
|
22518
|
+
{
|
|
22519
|
+
"id": "list-needs",
|
|
22520
|
+
"type": "capability",
|
|
22521
|
+
"position": {
|
|
22522
|
+
"x": 0,
|
|
22523
|
+
"y": 120
|
|
22524
|
+
},
|
|
22525
|
+
"data": {
|
|
22526
|
+
"label": "List shareable open needs (FIREWALL filter)",
|
|
22527
|
+
"verbId": "entity.query",
|
|
22528
|
+
"inputMapping": {
|
|
22529
|
+
"profileSlug": "need",
|
|
22530
|
+
"filter": {
|
|
22531
|
+
"needStatus": "open",
|
|
22532
|
+
"confidentiality": "shareable"
|
|
22533
|
+
},
|
|
22534
|
+
"limit": "100"
|
|
22535
|
+
}
|
|
22536
|
+
}
|
|
22537
|
+
},
|
|
22538
|
+
{
|
|
22539
|
+
"id": "list-providers",
|
|
22540
|
+
"type": "capability",
|
|
22541
|
+
"position": {
|
|
22542
|
+
"x": 0,
|
|
22543
|
+
"y": 240
|
|
22544
|
+
},
|
|
22545
|
+
"data": {
|
|
22546
|
+
"label": "List the solution-provider roster",
|
|
22547
|
+
"verbId": "entity.query",
|
|
22548
|
+
"inputMapping": {
|
|
22549
|
+
"profileSlug": "solution-provider",
|
|
22550
|
+
"limit": "100"
|
|
22551
|
+
}
|
|
22552
|
+
}
|
|
22553
|
+
},
|
|
22554
|
+
{
|
|
22555
|
+
"id": "needs-loop",
|
|
22556
|
+
"type": "loop",
|
|
22557
|
+
"position": {
|
|
22558
|
+
"x": 0,
|
|
22559
|
+
"y": 360
|
|
22560
|
+
},
|
|
22561
|
+
"data": {
|
|
22562
|
+
"label": "For each shareable open need",
|
|
22563
|
+
"iteratorExpression": "steps.list-needs.output.entities",
|
|
22564
|
+
"itemVariable": "need"
|
|
22565
|
+
}
|
|
22566
|
+
},
|
|
22567
|
+
{
|
|
22568
|
+
"id": "match",
|
|
22569
|
+
"type": "capability",
|
|
22570
|
+
"position": {
|
|
22571
|
+
"x": 0,
|
|
22572
|
+
"y": 480
|
|
22573
|
+
},
|
|
22574
|
+
"data": {
|
|
22575
|
+
"label": "Match this need to the roster \u2192 JSON",
|
|
22576
|
+
"verbId": "ai.generate",
|
|
22577
|
+
"inputMapping": {
|
|
22578
|
+
"json": "true",
|
|
22579
|
+
"maxTokens": "800",
|
|
22580
|
+
"system": "You are The Arch's business-development matchmaker. You connect a CLIENT'S NEED to the single best SOLUTION PROVIDER from a roster.\nFIREWALL (never break): your output is a brief for The Arch's INTERNAL team channel ONLY. NEVER draft anything to be sent into a client's own channel, and NEVER reveal one client's need to another client. Do not name the requesting client in any text intended for the provider.",
|
|
22581
|
+
"prompt": `The client need: title: {{loop.item.title}} domain: {{loop.item.properties.domain}} urgency: {{loop.item.properties.urgency}} budget: {{loop.item.properties.budgetRange}} detail: {{loop.item.properties.notes}}
|
|
22582
|
+
The solution-provider roster (JSON \u2014 each has an id, title, and properties incl. domains/geography/capacity): {{steps.list-providers.output.entities}}
|
|
22583
|
+
Pick the SINGLE best provider for this need, or none if nothing fits well. Respond with STRICT JSON and NOTHING else: {
|
|
22584
|
+
"hasMatch": "true" or "false" (a STRING),
|
|
22585
|
+
"providerEntityId": "<the matched provider's entity id, or empty string>",
|
|
22586
|
+
"providerName": "<the matched provider's name, or empty string>",
|
|
22587
|
+
"rationale": "<one or two sentences on why this provider fits, for the internal team>",
|
|
22588
|
+
"brief": "<a short internal match brief for the team, markdown>"
|
|
22589
|
+
} Set hasMatch to "false" when no provider is a genuine fit.`
|
|
22590
|
+
}
|
|
22591
|
+
}
|
|
22592
|
+
},
|
|
22593
|
+
{
|
|
22594
|
+
"id": "match-gate",
|
|
22595
|
+
"type": "condition",
|
|
22596
|
+
"position": {
|
|
22597
|
+
"x": 0,
|
|
22598
|
+
"y": 600
|
|
22599
|
+
},
|
|
22600
|
+
"data": {
|
|
22601
|
+
"label": "Only continue when there is a real match",
|
|
22602
|
+
"expression": "steps.match.output.hasMatch === true"
|
|
22603
|
+
}
|
|
22604
|
+
},
|
|
22605
|
+
{
|
|
22606
|
+
"id": "create-intro",
|
|
22607
|
+
"type": "output",
|
|
22608
|
+
"position": {
|
|
22609
|
+
"x": 0,
|
|
22610
|
+
"y": 720
|
|
22611
|
+
},
|
|
22612
|
+
"data": {
|
|
22613
|
+
"label": "Propose the intro",
|
|
22614
|
+
"outputType": "entity_create",
|
|
22615
|
+
"config": {
|
|
22616
|
+
"profileSlug": "intro",
|
|
22617
|
+
"title": "Intro \u2014 {{loop.item.title}} \u2192 {{steps.match.output.providerName}}",
|
|
22618
|
+
"properties": {
|
|
22619
|
+
"introStage": "identified",
|
|
22620
|
+
"needId": "{{loop.item.id}}",
|
|
22621
|
+
"requesterCompanyId": "{{loop.item.properties.requesterCompanyId}}",
|
|
22622
|
+
"providerCompanyId": "{{steps.match.output.providerEntityId}}"
|
|
22623
|
+
}
|
|
22624
|
+
}
|
|
22625
|
+
}
|
|
22626
|
+
},
|
|
22627
|
+
{
|
|
22628
|
+
"id": "resolve-team",
|
|
22629
|
+
"type": "capability",
|
|
22630
|
+
"position": {
|
|
22631
|
+
"x": 0,
|
|
22632
|
+
"y": 840
|
|
22633
|
+
},
|
|
22634
|
+
"data": {
|
|
22635
|
+
"label": "Resolve The Arch's internal team channel for the requester (FIREWALL)",
|
|
22636
|
+
"_note": "Resolves from the REQUESTER COMPANY, not the intro entity. channel.resolve is a read-only FIND \u2014 it never creates. A just-proposed `intro` has no channel bound to it, so resolving from {{steps.create-intro.output.entityId}} returned channelId: null and the brief silently never posted. The requester company is a stable entity that already owns a `team`-purpose channel (bound at onboarding), so we resolve from it instead. Firewall-safe: this is The Arch's INTERNAL team thread for client A (the need's owner), NOT client B's (the provider's) channel and NOT any client-comms channel.",
|
|
22637
|
+
"verbId": "channel.resolve",
|
|
22638
|
+
"inputMapping": {
|
|
22639
|
+
"contextObjectType": "entity",
|
|
22640
|
+
"contextObjectId": "{{loop.item.properties.requesterCompanyId}}",
|
|
22641
|
+
"branchPurpose": "team"
|
|
22642
|
+
}
|
|
22643
|
+
}
|
|
22644
|
+
},
|
|
22645
|
+
{
|
|
22646
|
+
"id": "post-brief",
|
|
22647
|
+
"type": "output",
|
|
22648
|
+
"position": {
|
|
22649
|
+
"x": 0,
|
|
22650
|
+
"y": 960
|
|
22651
|
+
},
|
|
22652
|
+
"data": {
|
|
22653
|
+
"label": "Post the match brief to the INTERNAL team channel (FIREWALL)",
|
|
22654
|
+
"outputType": "channel_message",
|
|
22655
|
+
"config": {
|
|
22656
|
+
"channelId": "{{steps.resolve-team.output.channelId}}",
|
|
22657
|
+
"content": "**Match found \u2014 {{loop.item.title}} \u2192 {{steps.match.output.providerName}}**\n{{steps.match.output.rationale}}\n{{steps.match.output.brief}}",
|
|
22658
|
+
"metadata": {
|
|
22659
|
+
"automationMessage": true,
|
|
22660
|
+
"kind": "intro-match"
|
|
22661
|
+
}
|
|
22662
|
+
}
|
|
22663
|
+
}
|
|
22664
|
+
}
|
|
22665
|
+
],
|
|
22666
|
+
"edges": [
|
|
22667
|
+
{
|
|
22668
|
+
"id": "e-trigger-needs",
|
|
22669
|
+
"source": "trigger",
|
|
22670
|
+
"target": "list-needs"
|
|
22671
|
+
},
|
|
22672
|
+
{
|
|
22673
|
+
"id": "e-needs-providers",
|
|
22674
|
+
"source": "list-needs",
|
|
22675
|
+
"target": "list-providers"
|
|
22676
|
+
},
|
|
22677
|
+
{
|
|
22678
|
+
"id": "e-providers-loop",
|
|
22679
|
+
"source": "list-providers",
|
|
22680
|
+
"target": "needs-loop"
|
|
22681
|
+
},
|
|
22682
|
+
{
|
|
22683
|
+
"id": "e-loop-match",
|
|
22684
|
+
"source": "needs-loop",
|
|
22685
|
+
"target": "match"
|
|
22686
|
+
},
|
|
22687
|
+
{
|
|
22688
|
+
"id": "e-match-gate",
|
|
22689
|
+
"source": "match",
|
|
22690
|
+
"target": "match-gate"
|
|
22691
|
+
},
|
|
22692
|
+
{
|
|
22693
|
+
"id": "e-gate-intro",
|
|
22694
|
+
"source": "match-gate",
|
|
22695
|
+
"target": "create-intro"
|
|
22696
|
+
},
|
|
22697
|
+
{
|
|
22698
|
+
"id": "e-intro-resolve",
|
|
22699
|
+
"source": "create-intro",
|
|
22700
|
+
"target": "resolve-team"
|
|
22701
|
+
},
|
|
22702
|
+
{
|
|
22703
|
+
"id": "e-resolve-post",
|
|
22704
|
+
"source": "resolve-team",
|
|
22705
|
+
"target": "post-brief"
|
|
22706
|
+
}
|
|
22707
|
+
]
|
|
22708
|
+
}
|
|
22709
|
+
}
|
|
22710
|
+
],
|
|
22711
|
+
"app": {
|
|
22712
|
+
"kind": "stored",
|
|
22713
|
+
"cellKey": "entity-detail"
|
|
22714
|
+
},
|
|
22715
|
+
"layout": {
|
|
22716
|
+
"defaultView": "Needs",
|
|
22717
|
+
"defaultApp": null,
|
|
22718
|
+
"pinnedApps": [
|
|
22719
|
+
"dashboard",
|
|
22720
|
+
"data"
|
|
22721
|
+
],
|
|
22722
|
+
"sidebarItems": [
|
|
22723
|
+
{
|
|
22724
|
+
"kind": "view",
|
|
22725
|
+
"viewName": "Needs",
|
|
22726
|
+
"label": "Needs",
|
|
22727
|
+
"icon": "target"
|
|
22728
|
+
},
|
|
22729
|
+
{
|
|
22730
|
+
"kind": "view",
|
|
22731
|
+
"viewName": "Intros",
|
|
22732
|
+
"label": "Intros",
|
|
22733
|
+
"icon": "waypoints"
|
|
22734
|
+
},
|
|
22735
|
+
{
|
|
22736
|
+
"kind": "view",
|
|
22737
|
+
"viewName": "Providers",
|
|
22738
|
+
"label": "Providers",
|
|
22739
|
+
"icon": "handshake"
|
|
22740
|
+
}
|
|
22741
|
+
]
|
|
22742
|
+
},
|
|
22743
|
+
"bento": {
|
|
22744
|
+
"viewName": "Needs",
|
|
22745
|
+
"blocks": [
|
|
22746
|
+
{
|
|
22747
|
+
"kind": "view",
|
|
22748
|
+
"viewName": "Needs",
|
|
22749
|
+
"pos": {
|
|
22750
|
+
"x": 0,
|
|
22751
|
+
"y": 0,
|
|
22752
|
+
"w": 6,
|
|
22753
|
+
"h": 5
|
|
22754
|
+
}
|
|
22755
|
+
},
|
|
22756
|
+
{
|
|
22757
|
+
"kind": "view",
|
|
22758
|
+
"viewName": "Intros",
|
|
22759
|
+
"pos": {
|
|
22760
|
+
"x": 6,
|
|
22761
|
+
"y": 0,
|
|
22762
|
+
"w": 6,
|
|
22763
|
+
"h": 5
|
|
22764
|
+
}
|
|
22765
|
+
}
|
|
22766
|
+
]
|
|
22767
|
+
},
|
|
22768
|
+
"onboarding": {
|
|
22769
|
+
"goal": "Capture the two sides of the brokerage \u2014 the live client NEEDS and the SOLUTION-PROVIDER roster \u2014 so the matcher has real demand and real supply to connect, and every intro traces back to a stated need and a named provider.\n",
|
|
22770
|
+
"framing": "THE BD MIDDLEMAN: Act as a sharp business-development broker who lives\nbetween clients. One client has a need; another has the capability to meet\nit; your value is the introduction and the fee on the match. Push for the\nconcrete: whose need is this, how confidential is it, and which real provider\ncan serve it. Tag the provider role onto the REAL company you already know \u2014\nnever a second entity for the same firm.\n",
|
|
22771
|
+
"expertise": {
|
|
22772
|
+
"starters": [
|
|
22773
|
+
"A need has an owner and a confidentiality. Default every need to confidential \u2014 it only enters the match roster once a human marks it shareable. Capture whose need it is (the requester company) and, where you can, the client's own words as the evidence quote.\n",
|
|
22774
|
+
"The provider is a HAT, not a new entity. Attach the solution-provider role to the real company/person you already track (match on domain / name first) \u2014 a market of providers is a graph of roles on known companies, not a parallel directory.\n"
|
|
22775
|
+
],
|
|
22776
|
+
"blindSpots": [
|
|
22777
|
+
"A need with no provider and no status is a wish, not a pipeline. Force the status (open / matching / intro-made) and, once a match exists, broker the intro rather than letting the need sit open.\n",
|
|
22778
|
+
"The firewall is the product. Never let one client's confidential need leak to another client. If a need is sensitive, keep it confidential \u2014 an intro is proposed to the internal team first, never straight to a client's channel.\n"
|
|
22779
|
+
],
|
|
22780
|
+
"bar": "A workspace with real client needs (each with a requester and a confidentiality), a roster of solution providers tagged onto real companies, and the first intros brokered between them \u2014 so a glance shows what demand is open and which providers can serve it.\n"
|
|
22781
|
+
},
|
|
22782
|
+
"collect": [
|
|
22783
|
+
{
|
|
22784
|
+
"profileSlug": "need",
|
|
22785
|
+
"what": "The live client needs you could broker a provider against.",
|
|
22786
|
+
"cardinality": "several",
|
|
22787
|
+
"keyFields": [
|
|
22788
|
+
"needStatus",
|
|
22789
|
+
"domain",
|
|
22790
|
+
"requesterCompanyId",
|
|
22791
|
+
"confidentiality"
|
|
22792
|
+
]
|
|
22793
|
+
},
|
|
22794
|
+
{
|
|
22795
|
+
"profileSlug": "solution-provider",
|
|
22796
|
+
"what": "The solution providers you can connect clients to, tagged onto the real company.",
|
|
22797
|
+
"cardinality": "several",
|
|
22798
|
+
"keyFields": [
|
|
22799
|
+
"status",
|
|
22800
|
+
"domains",
|
|
22801
|
+
"geography"
|
|
22802
|
+
]
|
|
22803
|
+
}
|
|
22804
|
+
],
|
|
22805
|
+
"openingQuestions": [
|
|
22806
|
+
"Which client needs are open right now, and whose needs are they?",
|
|
22807
|
+
"Which of those needs are shareable, and which must stay confidential?",
|
|
22808
|
+
"Which solution providers can you connect clients to, and what do they cover?"
|
|
22809
|
+
],
|
|
22810
|
+
"doneWhen": "A few client needs captured with a requester and a confidentiality, a handful of solution providers tagged onto real companies, and at least one intro brokered between them."
|
|
22811
|
+
}
|
|
22812
|
+
},
|
|
22813
|
+
"operations": {
|
|
22814
|
+
"meta": {
|
|
22815
|
+
"slug": "operations",
|
|
22816
|
+
"domain": "company",
|
|
22817
|
+
"name": "Operations",
|
|
22818
|
+
"description": "Deliver client work end to end \u2014 the engagements you're running, the deliverables due inside them, and the contracts that govern them. Won deals from CRM hand off into engagements here.",
|
|
22819
|
+
"icon": "briefcase",
|
|
22820
|
+
"color": "#0F766E",
|
|
22821
|
+
"tags": [
|
|
22822
|
+
"operations",
|
|
22823
|
+
"delivery",
|
|
22824
|
+
"clients",
|
|
22825
|
+
"engagements"
|
|
22826
|
+
],
|
|
22827
|
+
"isPublic": true
|
|
22828
|
+
},
|
|
22829
|
+
"workspace": {
|
|
22830
|
+
"name": "Operations",
|
|
22831
|
+
"description": "The client-delivery layer \u2014 active engagements, their deliverables, and the contracts that govern them.",
|
|
22832
|
+
"subtype": "operations",
|
|
22833
|
+
"visibility": "pod_visible",
|
|
22834
|
+
"capabilities": [
|
|
22835
|
+
"operations.engagements",
|
|
22836
|
+
"operations.deliverables",
|
|
22837
|
+
"operations.contracts"
|
|
22838
|
+
],
|
|
22839
|
+
"sourceRoles": {
|
|
22840
|
+
"crm": "consumer",
|
|
22841
|
+
"operations": "provider"
|
|
22842
|
+
}
|
|
22843
|
+
},
|
|
22844
|
+
"dependencies": [
|
|
22845
|
+
{
|
|
22846
|
+
"slug": "foundation",
|
|
22847
|
+
"kind": "workspace",
|
|
22848
|
+
"relation": "require",
|
|
22849
|
+
"reason": "Provides the pod-wide `client` role the daily client-briefing automation queries."
|
|
22850
|
+
}
|
|
22851
|
+
],
|
|
22852
|
+
"profiles": [
|
|
22853
|
+
{
|
|
22854
|
+
"slug": "engagement",
|
|
22855
|
+
"displayName": "Engagement",
|
|
22856
|
+
"icon": "briefcase",
|
|
22857
|
+
"color": "#0F766E",
|
|
22858
|
+
"description": "A unit of client work \u2014 a project or retainer delivered for a company, with scope, dates, and value.",
|
|
22859
|
+
"properties": [
|
|
22860
|
+
{
|
|
22861
|
+
"slug": "engagement-status",
|
|
22862
|
+
"label": "Status",
|
|
22863
|
+
"valueType": "string",
|
|
22864
|
+
"inputType": "select",
|
|
22865
|
+
"enumValues": [
|
|
22866
|
+
"proposed",
|
|
22867
|
+
"active",
|
|
22868
|
+
"on-hold",
|
|
22869
|
+
"completed",
|
|
22870
|
+
"cancelled"
|
|
22871
|
+
],
|
|
22872
|
+
"constraints": {
|
|
22873
|
+
"defaultValue": "proposed"
|
|
22874
|
+
}
|
|
22875
|
+
},
|
|
22876
|
+
{
|
|
22877
|
+
"slug": "engagement-client",
|
|
22878
|
+
"label": "Client",
|
|
22879
|
+
"valueType": "entity_id",
|
|
22880
|
+
"targetProfileSlug": "company",
|
|
22881
|
+
"inputType": "entity_select"
|
|
22882
|
+
},
|
|
22883
|
+
{
|
|
22884
|
+
"slug": "engagement-start",
|
|
22885
|
+
"label": "Start Date",
|
|
22886
|
+
"valueType": "date",
|
|
22887
|
+
"inputType": "date"
|
|
22888
|
+
},
|
|
22889
|
+
{
|
|
22890
|
+
"slug": "engagement-end",
|
|
22891
|
+
"label": "End Date",
|
|
22892
|
+
"valueType": "date",
|
|
22893
|
+
"inputType": "date"
|
|
22894
|
+
},
|
|
22895
|
+
{
|
|
22896
|
+
"slug": "engagement-value",
|
|
22897
|
+
"label": "Value",
|
|
22898
|
+
"valueType": "number",
|
|
22899
|
+
"inputType": "number"
|
|
22900
|
+
},
|
|
22901
|
+
{
|
|
22902
|
+
"slug": "engagement-scope",
|
|
22903
|
+
"label": "Scope",
|
|
22904
|
+
"valueType": "string",
|
|
22905
|
+
"inputType": "textarea"
|
|
22906
|
+
},
|
|
22907
|
+
{
|
|
22908
|
+
"slug": "engagement-owner",
|
|
22909
|
+
"label": "Owner",
|
|
22910
|
+
"valueType": "string",
|
|
22911
|
+
"inputType": "text"
|
|
22912
|
+
},
|
|
22913
|
+
{
|
|
22914
|
+
"slug": "engagement-notes",
|
|
22915
|
+
"label": "Notes",
|
|
22916
|
+
"valueType": "string",
|
|
22917
|
+
"inputType": "textarea"
|
|
22918
|
+
}
|
|
22919
|
+
]
|
|
22920
|
+
},
|
|
22921
|
+
{
|
|
22922
|
+
"slug": "deliverable",
|
|
22923
|
+
"displayName": "Deliverable",
|
|
22924
|
+
"icon": "package-check",
|
|
22925
|
+
"color": "#0EA5E9",
|
|
22926
|
+
"description": "A concrete output owed inside an engagement \u2014 with a due date, an owner, and a status.",
|
|
22927
|
+
"properties": [
|
|
22928
|
+
{
|
|
22929
|
+
"slug": "deliverable-status",
|
|
22930
|
+
"label": "Status",
|
|
22931
|
+
"valueType": "string",
|
|
22932
|
+
"inputType": "select",
|
|
22933
|
+
"enumValues": [
|
|
22934
|
+
"not-started",
|
|
22935
|
+
"in-progress",
|
|
22936
|
+
"in-review",
|
|
22937
|
+
"delivered",
|
|
22938
|
+
"accepted"
|
|
22939
|
+
],
|
|
22940
|
+
"constraints": {
|
|
22941
|
+
"defaultValue": "not-started"
|
|
22942
|
+
}
|
|
22943
|
+
},
|
|
22944
|
+
{
|
|
22945
|
+
"slug": "deliverable-engagement",
|
|
22946
|
+
"label": "Engagement",
|
|
22947
|
+
"valueType": "entity_id",
|
|
22948
|
+
"targetProfileSlug": "engagement",
|
|
22949
|
+
"inputType": "entity_select"
|
|
22950
|
+
},
|
|
22951
|
+
{
|
|
22952
|
+
"slug": "due-date",
|
|
22953
|
+
"label": "Due Date",
|
|
22954
|
+
"valueType": "date",
|
|
22955
|
+
"inputType": "date"
|
|
22956
|
+
},
|
|
22957
|
+
{
|
|
22958
|
+
"slug": "delivered-date",
|
|
22959
|
+
"label": "Delivered Date",
|
|
22960
|
+
"valueType": "date",
|
|
22961
|
+
"inputType": "date"
|
|
22962
|
+
},
|
|
22963
|
+
{
|
|
22964
|
+
"slug": "deliverable-owner",
|
|
22965
|
+
"label": "Owner",
|
|
22966
|
+
"valueType": "string",
|
|
22967
|
+
"inputType": "text"
|
|
22968
|
+
},
|
|
22969
|
+
{
|
|
22970
|
+
"slug": "deliverable-notes",
|
|
22971
|
+
"label": "Notes",
|
|
22972
|
+
"valueType": "string",
|
|
22973
|
+
"inputType": "textarea"
|
|
22974
|
+
}
|
|
22975
|
+
]
|
|
22976
|
+
},
|
|
22977
|
+
{
|
|
22978
|
+
"slug": "contract",
|
|
22979
|
+
"displayName": "Contract",
|
|
22980
|
+
"icon": "file-signature",
|
|
22981
|
+
"color": "#8B5CF6",
|
|
22982
|
+
"description": "The agreement that governs an engagement \u2014 its status, value, term, and signed document.",
|
|
22983
|
+
"properties": [
|
|
22984
|
+
{
|
|
22985
|
+
"slug": "contract-status",
|
|
22986
|
+
"label": "Status",
|
|
22987
|
+
"valueType": "string",
|
|
22988
|
+
"inputType": "select",
|
|
22989
|
+
"enumValues": [
|
|
22990
|
+
"draft",
|
|
22991
|
+
"sent",
|
|
22992
|
+
"signed",
|
|
22993
|
+
"active",
|
|
22994
|
+
"expired",
|
|
22995
|
+
"terminated"
|
|
22996
|
+
],
|
|
22997
|
+
"constraints": {
|
|
22998
|
+
"defaultValue": "draft"
|
|
22999
|
+
}
|
|
23000
|
+
},
|
|
23001
|
+
{
|
|
23002
|
+
"slug": "contract-engagement",
|
|
23003
|
+
"label": "Engagement",
|
|
23004
|
+
"valueType": "entity_id",
|
|
23005
|
+
"targetProfileSlug": "engagement",
|
|
23006
|
+
"inputType": "entity_select"
|
|
23007
|
+
},
|
|
23008
|
+
{
|
|
23009
|
+
"slug": "contract-value",
|
|
23010
|
+
"label": "Value",
|
|
23011
|
+
"valueType": "number",
|
|
23012
|
+
"inputType": "number"
|
|
23013
|
+
},
|
|
23014
|
+
{
|
|
23015
|
+
"slug": "start-date",
|
|
23016
|
+
"label": "Start Date",
|
|
23017
|
+
"valueType": "date",
|
|
23018
|
+
"inputType": "date"
|
|
23019
|
+
},
|
|
23020
|
+
{
|
|
23021
|
+
"slug": "end-date",
|
|
23022
|
+
"label": "End Date",
|
|
23023
|
+
"valueType": "date",
|
|
23024
|
+
"inputType": "date"
|
|
23025
|
+
},
|
|
23026
|
+
{
|
|
23027
|
+
"slug": "contract-url",
|
|
23028
|
+
"label": "Document",
|
|
23029
|
+
"valueType": "string",
|
|
23030
|
+
"inputType": "url"
|
|
23031
|
+
},
|
|
23032
|
+
{
|
|
23033
|
+
"slug": "contract-notes",
|
|
23034
|
+
"label": "Notes",
|
|
23035
|
+
"valueType": "string",
|
|
23036
|
+
"inputType": "textarea"
|
|
23037
|
+
}
|
|
23038
|
+
]
|
|
23039
|
+
},
|
|
23040
|
+
{
|
|
23041
|
+
"slug": "client-briefing",
|
|
23042
|
+
"displayName": "Client Briefing",
|
|
23043
|
+
"icon": "newspaper",
|
|
23044
|
+
"color": "#F59E0B",
|
|
23045
|
+
"description": "A dated internal recap of one client's recent communications \u2014 what moved, what's at risk, what's next. For the team, never for the client.",
|
|
23046
|
+
"properties": [
|
|
23047
|
+
{
|
|
23048
|
+
"slug": "briefing-client",
|
|
23049
|
+
"label": "Client",
|
|
23050
|
+
"valueType": "entity_id",
|
|
22326
23051
|
"targetProfileSlug": "company",
|
|
22327
23052
|
"inputType": "entity_select"
|
|
22328
23053
|
},
|
|
@@ -22504,7 +23229,7 @@ var DATA = {
|
|
|
22504
23229
|
{
|
|
22505
23230
|
"key": "operations-daily-client-briefing",
|
|
22506
23231
|
"name": "Daily client briefing",
|
|
22507
|
-
"description": "
|
|
23232
|
+
"description": "Operations-native daily client briefing. Writes a durable, dated client-briefing ENTITY per client (queryable history, linked to the client) from their recent comms, and posts the recap to the client's internal TEAM channel (never the client-facing channel). Knowledge-building and entity-first \u2014 the delivery OS's structured memory of each client. For a lighter, portable message-only digest installable on any pod, use the client-comms-report capability.",
|
|
22508
23233
|
"triggerType": "cron",
|
|
22509
23234
|
"triggerConfig": {
|
|
22510
23235
|
"expression": "0 8 * * *"
|
|
@@ -27002,6 +27727,14 @@ counter-evidence: research that only kept what agreed with it isn't research.
|
|
|
27002
27727
|
}
|
|
27003
27728
|
}
|
|
27004
27729
|
],
|
|
27730
|
+
"integrations": [
|
|
27731
|
+
{
|
|
27732
|
+
"templateKey": "client-comms-report"
|
|
27733
|
+
},
|
|
27734
|
+
{
|
|
27735
|
+
"templateKey": "arch-backend"
|
|
27736
|
+
}
|
|
27737
|
+
],
|
|
27005
27738
|
"onboarding": {
|
|
27006
27739
|
"goal": "Name the cross-workspace initiatives that span the operating system and its private flagships \u2014 the few big things in flight that touch more than one lens \u2014 so The Arch is a real command layer, not just an aggregate of apps.\n",
|
|
27007
27740
|
"framing": "THE FOUNDER'S COMMAND LAYER: Act from the seat above every lens. The whole\ncompany brain is installed \u2014 operating core plus the private grant, web3, and\ndev flagships. Your job is to surface the handful of initiatives that cut\nacross them and give each a stage, a lead, and a priority.\n",
|