1- import { AgentIcon , CodeIcon , SlackIcon , StartIcon , TableIcon } from '@/components/icons'
1+ import {
2+ AgentIcon ,
3+ AnthropicIcon ,
4+ CodeIcon ,
5+ GmailIcon ,
6+ HubspotIcon ,
7+ SlackIcon ,
8+ } from '@/components/icons'
29import type { BlockDef } from '@/app/(landing)/components/hero/components/hero-visual/workflow-data'
310import { BLOCK_WIDTH } from '@/app/(landing)/components/hero/components/hero-visual/workflow-data'
411
512/**
613 * Design-space geometry for the hero's live workflow stage - the lead-enrichment
7- * flow the chat conversation "builds": Start feeds the enrichment agent, a
8- * scoring function follows, and the flow fans out to Slack and Tables. Block
9- * tiles use the platform's grey text ramp (each block a different shade, dark
10- * enough to carry the white glyph) - color is reserved for REAL third-party
11- * marks, so only Slack keeps its brand tile (#611F69).
14+ * flow the chat conversation "builds": a new HubSpot lead feeds the enrichment
15+ * agent (grounded on the Sales playbook knowledge base and a Claude model), a
16+ * fit score follows, and the flow fans out to a Slack post and a Gmail intro.
17+ * Every step past the code block is a REAL third-party integration, so its tile
18+ * carries the brand mark - HubSpot (#FF7A59), Slack (#611F69), and Gmail (white
19+ * tile, brand glyph); the Agent and Code blocks keep the platform grey ramp.
20+ * Same four-level footprint as before, so it fits the right pane unchanged.
1221 *
1322 * Blocks are ordered by build sequence - the stage reveals `blocks[0..built-1]`
1423 * as the loop's build counter advances, and an edge draws once both its
1524 * endpoints are on canvas.
1625 */
1726export const STAGE_BLOCKS : BlockDef [ ] = [
1827 {
19- id : 'start ' ,
20- name : 'Start ' ,
21- icon : StartIcon ,
22- bgColor : 'var(--text-muted) ' ,
28+ id : 'hubspot ' ,
29+ name : 'New HubSpot lead ' ,
30+ icon : HubspotIcon ,
31+ bgColor : '#FF7A59 ' ,
2332 isTrigger : true ,
24- rows : [ { title : 'Inputs ' , value : '- ' } ] ,
33+ rows : [ { title : 'Event ' , value : 'New contact ' } ] ,
2534 x : 155 ,
2635 y : 12 ,
2736 } ,
@@ -31,9 +40,9 @@ export const STAGE_BLOCKS: BlockDef[] = [
3140 icon : AgentIcon ,
3241 bgColor : 'var(--text-primary)' ,
3342 rows : [
34- { title : 'Messages ' , value : '-' } ,
35- { title : 'Model ' , value : '- ' } ,
36- { title : 'Files ' , value : '- ' } ,
43+ { title : 'Model ' , value : 'Claude' , valueIcon : AnthropicIcon } ,
44+ { title : 'Instructions ' , value : 'Qualify vs ICP ' } ,
45+ { title : 'Knowledge ' , value : 'Sales playbook ' } ,
3746 ] ,
3847 x : 155 ,
3948 y : 172 ,
@@ -44,8 +53,8 @@ export const STAGE_BLOCKS: BlockDef[] = [
4453 icon : CodeIcon ,
4554 bgColor : 'var(--text-secondary)' ,
4655 rows : [
47- { title : 'Code' , value : '- ' } ,
48- { title : 'Timeout' , value : '- ' } ,
56+ { title : 'Code' , value : 'score.ts ' } ,
57+ { title : 'Timeout' , value : '30s ' } ,
4958 ] ,
5059 x : 155 ,
5160 y : 390 ,
@@ -57,21 +66,22 @@ export const STAGE_BLOCKS: BlockDef[] = [
5766 bgColor : '#611F69' ,
5867 isTerminal : true ,
5968 rows : [
60- { title : 'Channel' , value : '- ' } ,
61- { title : 'Message' , value : '- ' } ,
69+ { title : 'Channel' , value : '#sales ' } ,
70+ { title : 'Message' , value : 'Summary ' } ,
6271 ] ,
6372 x : 0 ,
6473 y : 580 ,
6574 } ,
6675 {
67- id : 'tables' ,
68- name : 'Save to Tables' ,
69- icon : TableIcon ,
70- bgColor : 'var(--text-body)' ,
76+ id : 'gmail' ,
77+ name : 'Send intro' ,
78+ icon : GmailIcon ,
79+ bgColor : '#FFFFFF' ,
80+ tileBorder : true ,
7181 isTerminal : true ,
7282 rows : [
73- { title : 'Table ' , value : '- ' } ,
74- { title : 'Operation ' , value : '- ' } ,
83+ { title : 'To ' , value : 'lead.email ' } ,
84+ { title : 'Subject ' , value : 'Welcome ' } ,
7585 ] ,
7686 x : 310 ,
7787 y : 580 ,
@@ -80,10 +90,10 @@ export const STAGE_BLOCKS: BlockDef[] = [
8090
8191/** Source → target pairs, drawn in order as their endpoints land on canvas. */
8292export const STAGE_EDGES : ReadonlyArray < readonly [ string , string ] > = [
83- [ 'start ' , 'enrich' ] ,
93+ [ 'hubspot ' , 'enrich' ] ,
8494 [ 'enrich' , 'score' ] ,
8595 [ 'score' , 'slack' ] ,
86- [ 'score' , 'tables ' ] ,
96+ [ 'score' , 'gmail ' ] ,
8797]
8898
8999/** Design-space bounding box of the layout above. */
0 commit comments