Skip to content

Commit 81abb8a

Browse files
andresdjassoclaude
andcommitted
improvement(landing): show real app integrations in the hero workflow stage
The hero's right-pane workflow "built" by the chat now leads with real third-party marks instead of generic blocks: a HubSpot lead trigger feeds an enrichment agent (Claude model + Sales playbook knowledge), a fit score, then fans out to a Slack #sales post and a Gmail intro. Four brand marks (HubSpot, Anthropic, Slack, Gmail) up from one, on the same four-level footprint so it fits the right pane unchanged. Rows carry real values rather than placeholders. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1 parent 4e6594d commit 81abb8a

1 file changed

Lines changed: 36 additions & 26 deletions

File tree

  • apps/sim/app/(landing)/components/hero/components/hero-platform-loop

apps/sim/app/(landing)/components/hero/components/hero-platform-loop/stage-data.ts

Lines changed: 36 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,36 @@
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'
29
import type { BlockDef } from '@/app/(landing)/components/hero/components/hero-visual/workflow-data'
310
import { 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
*/
1726
export 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. */
8292
export 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

Comments
 (0)