S

Knowledge Pack Files

SideButton Marketing Website Knowledge Pack Files

Browse the source files that power the SideButton Marketing Website MCP server knowledge pack.

Available free v1.0.3 Browser
$ sidebutton install sidebutton.com
Download ZIP
integrations/_skill.md
48.5 KB

What This Is

The integrations marketplace — a catalog of all platform integrations with their automation workflows. Shows: skill packs promo banner (install command), categories quick links (color-coded pills), and a 4-column "All Platforms" grid sorted by workflow count. Each platform card shows logo, name, and workflow count. Links to platform detail pages, categories index, and publishers index. Includes bottom CTA. Sub-pages include platform detail (with tier filter + per-platform category links), workflow detail (with install lifecycle, how-it-works steps, workflow sequence chain, solutions cross-link), categories index/detail, and publishers index/detail.

URL Patterns

PatternDescription
/integrationsMarketplace index — all platforms grid
/integrations/{platform}Platform detail — workflows for one platform
/integrations/{platform}/page/{page}Paginated platform workflows
/integrations/{platform}/{workflow}Single workflow detail via platform path
/integrations/categoriesCategories index — all 11 categories
/integrations/categories/{category}Category detail — workflows in category
/integrations/categories/{category}/page/{page}Paginated category workflows
/integrations/categories/{category}/{workflow}Workflow detail via category path
/integrations/publishersPublishers index
/integrations/publishers/{id}Publisher profile + workflows
/integrations/publishers/{id}/page/{page}Paginated publisher workflows

Page Structure

Integrations Index (/integrations)

+--[Header]-----------------------------------------------------+
|                                                                |
|  [Hero: "Integrations" + stats + Browse by Category / View Publishers buttons] |
|                                                                |
|  [Skill Packs Banner]                                          |
|  Left: "SKILL PACKS" badge + heading + description +           |
|  Learn more / CLI Reference links                              |
|  Right: terminal widget with install command                   |
|                                                                |
|  [Browse by Category — pill links]                             |
|  Sales · Recruiting · Customer Support · Operations ·          |
|  Marketing · Finance · Research · HR & People ·                |
|  DevOps · AI Tools · Personal                                  |
|                                                                |
|  [All Platforms — 4-column grid, sorted by workflow count]     |
|  Each card: logo + name + "N workflows"                        |
|  47 platforms total (10 with workflows, 37 with 0)             |
|                                                                |
|  [CTA: "Ready to Automate?" + Get Started Free / Read the Docs] |
+--[Footer]-----------------------------------------------------+

Platform Detail (/integrations/{platform})

+--[Header]-----------------------------------------------------+
|  [Breadcrumb: Integrations > {Platform}]                       |
|                                                                |
|  [Hero: Platform logo + "{Platform} Integration" +             |
|   workflow count + description + external site link]           |
|                                                                |
|  [Skill Pack Banner — contextual]                              |
|  "Want full {Platform} automation?"                            |
|  Learn about Skill Packs link                                  |
|                                                                |
|  [Browse by Category — per-platform category links]            |
|  Only shows categories that have workflows for this platform   |
|  Each link: "{Category} {N}" → /integrations/categories/{cat}  |
|  (Section absent if platform has 0 workflows)                  |
|                                                                |
|  [Workflow List: "All {Platform} Workflows"]                   |
|  [Tier Filter Tabs: All (N) | Free (N) | Pro (N)]             |
|  Each workflow row: title + tier badge + description +         |
|  category tag, links to workflow detail                        |
|                                                                |
|  [Other Integrations — 6 related platform cards]               |
|                                                                |
|  [CTA: "Ready to Automate {Platform}?"]                        |
+--[Footer]-----------------------------------------------------+

Workflow Detail (/integrations/{platform}/{workflow})

+--[Header]-----------------------------------------------------+
|  [Breadcrumb: Integrations > {Platform} > {Workflow}]          |
|                                                                |
|  [Solutions Cross-Link — conditional]                          |
|  "Part of {Category} with SideButton AI — {workflow name}"    |
|  Links to /solutions/{role}/{job-slug}                         |
|  (Only if workflow maps to a solutions role+job)               |
|                                                                |
|  [Hero: Platform logo + workflow title + description +         |
|   tier badge + run stats + platform tag + category tag +       |
|   type badge (Task) + Install button + View Documentation]    |
|                                                                |
|  [Benefits — 3 bullet points]                                  |
|                                                                |
|  [Published by — publisher card with logo + link]              |
|                                                                |
|  [How It Works — numbered steps with icons]                    |
|  3-step visual: icon + number + title + description            |
|  Shows workflow execution flow (Extract → AI → Output, etc.)   |
|                                                                |
|  [Use Cases — persona card with role + scenario + value]       |
|                                                                |
|  [Workflow Sequence — chain visualization]                     |
|  "Current" badge + this workflow + "Then Run" + next workflow  |
|  Only shows if workflow has nextSteps in relations              |
|                                                                |
|  [More {Platform} Workflows — up to 4 cards + "View all" link] |
|                                                                |
|  [Automation Capabilities — step type list with counts]        |
|  Step cards: Navigate, Wait, Extract, Click, Stop, etc.        |
|  Category pills: Browser | AI/LLM | Control Flow | Data | Shell |
|                                                                |
|  [Related Workflows — 3 cards]                                 |
+--[Footer]-----------------------------------------------------+

Categories Index (/integrations/categories)

+--[Header]-----------------------------------------------------+
|  [Breadcrumb: Integrations > Categories]                       |
|                                                                |
|  [Hero: "Categories" + stats]                                  |
|  "Browse 41 workflows across 11 categories."                   |
|                                                                |
|  [Category cards — sorted by workflow count]                   |
|  Each card: emoji + name + workflow count + description        |
|  11 categories including those with 0 workflows                |
|                                                                |
|  [Back link: "← Back to all integrations"]                     |
+--[Footer]-----------------------------------------------------+

Category Detail (/integrations/categories/{category})

+--[Header]-----------------------------------------------------+
|  [Breadcrumb: Integrations > Categories > {Category}]          |
|                                                                |
|  [Hero: emoji + "{Category}" + workflow count + description]   |
|                                                                |
|  [Solutions Cross-Link — conditional]                          |
|  "See {Category} with SideButton AI" → /solutions/{role}       |
|  With subtitle "Automatable jobs, use cases, and more"         |
|  (Only if category slug maps to a solutions role)              |
|                                                                |
|  [Available Platforms — cards with logo + name + count]        |
|  Only platforms that have workflows in this category            |
|                                                                |
|  [Workflow List: "All {Category} Workflows"]                   |
|  [Tier Filter Tabs: All (N) | Free (N) | Pro (N)]             |
|  Each row: workflow title + tier badge + description +          |
|  platform icon + category tag                                  |
|                                                                |
|  [Other Categories — pill links to sibling categories]         |
+--[Footer]-----------------------------------------------------+

Publishers Index (/integrations/publishers)

+--[Header]-----------------------------------------------------+
|  [Breadcrumb: Integrations > Publishers]                       |
|                                                                |
|  [Hero: "Publishers"]                                          |
|                                                                |
|  [Publisher cards — logo + name + heading]                     |
|  Currently: SideButton, AICTPO                                 |
|                                                                |
|  [Back link: "← Back to all integrations"]                     |
+--[Footer]-----------------------------------------------------+

Publisher Detail (/integrations/publishers/{id})

+--[Header]-----------------------------------------------------+
|  [Breadcrumb: Integrations > Publishers > {Publisher}]          |
|                                                                |
|  [Hero: publisher logo + name + workflow count + description]  |
|                                                                |
|  [Workflow List: "Workflows by {Publisher}"]                   |
|  Each row: workflow title + description + platform icon +      |
|  category tag, links to workflow detail                        |
|  (No tier filter on publisher page — all workflows listed flat) |
|  Workflows span multiple platforms (unlike platform page)      |
+--[Footer]-----------------------------------------------------+

Key Elements

Integrations Index

ElementSelectorNotes
Page headingheading "Integrations"In hero region
Stats texttext "47 platforms, 41 workflows"Below heading
Browse by Category buttonlink "Browse by Category"In hero, → /integrations/categories
View Publishers buttonlink "View Publishers"In hero, → /integrations/publishers
Skill Packs headingheading "Complete platform automation in one install"In banner region
Learn more linklink "Learn more"→ docs.sidebutton.com/skill-packs/overview
CLI Reference linklink "CLI Reference"→ docs.sidebutton.com/skill-packs/cli
Browse by Category headingheading "Browse by Category"Section heading
Category pillslink elements in Browse by Category region11 links, text not labeled in accessibility tree — use content text
All Platforms headingheading "All Platforms"Section heading
Platform cardslink with img "{Platform} logo" in All Platforms region47 cards; Terminal, Workday, Wave have NO img (letter initial fallback)
Get Started Freelink "Get Started Free"Bottom CTA, → docs.sidebutton.com/installation
Read the Docslink "Read the Docs"Bottom CTA, → docs.sidebutton.com

Platform Detail

ElementSelectorNotes
Breadcrumbnavigation > listIntegrations > {Platform}; last item is plain text
Platform logoimg "{Platform} logo"In hero; absent for platforms using letter initial (Terminal, Workday, Wave)
Page headingheading "{Platform} Integration"Always present even if 0 workflows
Workflow counttext "{N} workflows available"Below heading
External site linklink "{platform}.com"Links to platform's website
Skill Pack promolink "Learn about Skill Packs"Contextual banner, always present
Browse by Category headingheading "Browse by Category"Only present if platform has workflows; shows relevant categories
Category linkslink in Browse by Category regionEach shows "{Category} {N}"
Workflow list headingheading "All {Platform} Workflows"Always present even if 0 workflows
Tier filter: Allbutton "All"Shows all workflows; always present even with 0 workflows
Tier filter: Freebutton "Free"Filters to free workflows
Tier filter: Probutton "Pro"Filters to pro workflows
Workflow cardslink containing heading in workflow list regionEach links to workflow detail
Other Integrations headingheading "Other Integrations"6 related platform cards
Other Integrations cardslink with img "{Platform} logo" in Other Integrations regionStatic selection
CTA headingheading "Ready to Automate {Platform}?"Dynamic platform name

Workflow Detail (via platform: /integrations/{platform}/{workflow})

ElementSelectorNotes
Breadcrumbnavigation > listIntegrations > {Platform} > {Workflow}; link "Integrations" + link "{Platform}" + plain text
Solutions cross-linklink "Part of {Category} with SideButton AI — {workflow name}"Conditional; only if getJobForWorkflow(slug) finds a match
Platform logoimg "{Platform} logo"In hero
Workflow title headingheading "{Workflow Name}"Main heading
Tier badgeTierBadge component"Free" (emerald) or "Pro" (purple) pill
Health badgeWorkflowHealthBadge componentSSR-rendered then client-hydrated from /api/runs/{slug}; shows dot + label + stats
Run statstext "No run data" or "{N} runs"Inside WorkflowHealthBadge
Platform taglink "{Platform}"→ platform detail
Category taglink "{Category}"→ category detail
Type badgetext "Task" / "Process" / etc.Level label from getLevelInfo()
Install button (via TierCTA)TierCTA componentFree tier → InstallButton (4 states); Paid tier → "Upgrade to Pro" link to /pricing
View Documentationlink "View Documentation"→ docs.sidebutton.com
Hero mediaWorkflowHeroMedia componentOptional hero image/video panel
Benefits headingheading "Benefits"3 bullet points in list
Rich descriptionWorkflowRichDescription componentMarkdown-like rich content block
Publisher cardPublisherCard (compact variant)link with img "{Publisher}" → /integrations/publishers/{id}; shows verified badge + type label
How It Works headingheading "How It Works"WorkflowStepsVisual component, numbered steps with icons
Step headingsheading "{Step Title}"Under How It Works (e.g., "Extract Profile", "AI Analysis")
Use Cases headingheading "Use Cases"Persona card with role, scenario, outcome
Workflow Sequence headingheading "Workflow Sequence"WorkflowSequence component; Prerequisites → Current → Next Steps horizontal flow; only if relations exist
Next workflow linklink in Workflow Sequence region"Then Run" next workflow
FAQ sectionWorkflowFAQ componentExpandable FAQ accordion; conditional on workflow having FAQ data
Run chartWorkflowRunChart componentdisplay:none at SSR; revealed client-side if /api/runs/{slug} returns data; uPlot loaded from CDN
More workflows headingheading "More {Platform} Workflows"Up to 4 cards
View all linklink "View all {Platform} workflows →"→ platform detail
Automation Capabilities headingheading "Automation Capabilities"Step types with doc links, color-coded by category (browser=blue, llm=emerald, control=purple, data=orange, shell=slate)
Step type linkslink in Automation Capabilities regionEach links to docs.sidebutton.com/workflows/steps#{type}; 22 step types defined
Related Workflows headingheading "Related Workflows"3 cards; uses explicit relations.relatedWorkflows first, fills remainder from same category

Workflow Detail (via category: /integrations/categories/{category}/{workflow})

Same layout as platform workflow detail above, except:

DifferenceNotes
BreadcrumbIntegrations > Categories > {Category} > {Workflow}
Install buttonUses InstallButton directly (NOT TierCTA) — always shows install button regardless of tier
No TierCTA gatingPaid workflows still show install option, not "Upgrade to Pro"

Categories Index

ElementSelectorNotes
Breadcrumbnavigation > listIntegrations > Categories; last item is plain text
Page headingheading "Categories"In hero region
Stats texttext "Browse 41 workflows across 11 categories."Below heading
Category cardslink containing heading "{Category}"11 cards: emoji + name + count + description; includes 0-workflow categories
Back linklink "← Back to all integrations"→ /integrations

Category Detail

ElementSelectorNotes
Breadcrumbnavigation > listIntegrations > Categories > {Category}; link "Integrations" + link "Categories" + plain text
Category emojitext emojiBefore heading
Page headingheading "{Category}"In hero region
Workflow counttext "{N} workflows available"Below heading
Solutions cross-linklink in cross-link region"See {Category} with SideButton AI" + subtitle; conditional
Available Platforms headingheading "Available Platforms"Only platforms with workflows in this category
Platform cardslink with img "{Platform}" in Available Platforms regionLogo + name + count
Tier filter: Allbutton "All"Shows all category workflows
Tier filter: Freebutton "Free"Filters to free
Tier filter: Probutton "Pro"Filters to pro
Workflow cardslink containing heading + img "{Platform}"Each shows platform icon within card
Other Categories headingheading "Other Categories"Sibling categories
Other Categories linkslink in Other Categories regionPill-style links to sibling categories

Publishers Index

ElementSelectorNotes
Breadcrumbnavigation > listIntegrations > Publishers; last item is plain text
Page headingheading "Publishers"In hero region
Publisher cardslink with img "{Publisher}" + heading "{Publisher}"Logo + name; currently SideButton + AICTPO
Back linklink "← Back to all integrations"→ /integrations

Publisher Detail

ElementSelectorNotes
Breadcrumbnavigation > listIntegrations > Publishers > {Publisher}; link "Integrations" + link "Publishers" + plain text
Publisher logoimg "{Publisher}"In hero
Page headingheading "{Publisher}"Publisher display name
Workflow counttext "{N} workflows"Below heading
DescriptionparagraphPublisher description text
Workflow list headingheading "Workflows by {Publisher}"Section heading
Workflow cardslink containing heading "{Workflow}" + img "{Platform}"Each shows platform icon; spans multiple platforms

Data Model

Platform

FieldTypeRequiredValuesDefault
idstringYesUnique platform identifier (e.g., "linkedin")
namestringYesDisplay name (e.g., "LinkedIn")
slugstringYesURL-safe ID, matches id
descriptionstringYesOne-line platform description
logoUrlstringYesSVG/PNG path or external CDN URLLetter initial fallback when absent/broken
colorstringYesHex color code (e.g., "#0A66C2")
websitestringYesPlatform's external website URL
categorystringYesPrimary category id reference
featuredbooleanNoShow in featured sectionsfalse
navFeaturedbooleanNoShow in header navigation dropdownfalse
setupTimestringNoHuman-readable setup duration (e.g., "30 seconds", "1 minute")
setupStepsstring[]NoOrdered setup instructions (shown on platform detail)
configFilestringNoConfig filename (e.g., "claude_desktop_config.json")
configCodestringNoJSON config snippet for MCP setup
embedSupportedbooleanNoWhether platform supports embed buttonsfalse

Workflow

FieldTypeRequiredValuesDefault
idstringYesUnique workflow identifier (e.g., "linkedin-validate-application")
slugstringYesURL-safe ID
titlestringYesDisplay title (e.g., "LinkedIn: Validate Single Application")
versionstringYesSemver version (e.g., "1.0.0")
sourceWorkflowstringYesSource YAML workflow ID
tierenumYesfree, paidfree
comingSoonbooleanNoWorkflow not yet availablefalse
structural.publisherstringYesPublisher id reference
structural.categorystringYesCategory id reference
structural.platformstringYesPlatform id reference or "multi" for cross-platform
structural.levelenumYesprimitive, task, process, workflow, pipeline
structural.capabilitiesstring[]YesFeature flags (e.g., ["ai-powered", "embed-button"])[]
structural.allowedDomainsstring[]YesDomain patterns (e.g., ["*.linkedin.com"])[]
structural.stepsstring[]YesStep type IDs used (e.g., ["browser.wait", "llm.generate"])[]
structural.paramsstring[]YesInput parameter names[]
structural.requirementsstring[]YesHuman-readable prerequisites[]
structural.targetenumYesbrowser, apibrowser
marketing.taglinestringYesOne-line description
marketing.descriptionstringYesExtended description paragraph
marketing.benefitsstring[]Yes3 benefit bullet points[]
marketing.useCasesobject[]Yes[{ persona, scenario, outcome }][]
marketing.workflowStepsobject[]No[{ step, title, description, icon }] for "How It Works"[]
seo.targetKeywordstringYesPrimary SEO keyword
seo.secondaryKeywordsstring[]YesSecondary keywords[]
seo.metaTitlestringYesHTML <title> value
seo.metaDescriptionstringYesMeta description
relations.relatedWorkflowsstring[]NoRelated workflow id references[]
relations.prerequisitesstring[]NoPrerequisite workflow id references[]
relations.nextStepsstring[]NoNext workflow id references (for Workflow Sequence section)[]
yamlContentstringNoFull YAML workflow definition (base64-encoded for install button)

Category

FieldTypeRequiredValuesDefault
idstringYesUnique category identifier (e.g., "recruiting")
namestringYesDisplay name (e.g., "Recruiting")
slugstringYesURL-safe ID, matches id
descriptionstringYesCategory tagline
iconstringYesIcon name (e.g., "chart-line", "users", "code")
colorstringYesHex color code for pills/badges (e.g., "#8B5CF6")
keywordsstring[]YesSEO keywords array[]

Publisher

FieldTypeRequiredValuesDefault
idstringYesUnique publisher identifier (e.g., "sidebutton")
namestringYesInternal name
displayNamestringYesDisplay name (shown in UI)
taglinestringYesShort tagline
descriptionstringYesFull description paragraph
avatarstringYesAvatar image path (used in workflow cards)
logostringYesLogo image path (used in publisher hero)
bannerstringNoBanner image path"" (empty = no banner)
websitestringYesPublisher website URL
githubstringNoGitHub repo URL""
typeenumYesofficial, partner, community
verifiedbooleanYesVerified publisher badgefalse
featuredbooleanYesFeatured publisherfalse
theme.primarystringYesPrimary brand color hex
theme.gradientstringYesTailwind gradient classes
categoriesstring[]YesCategory id references this publisher covers[]
platformsstring[]YesPlatform id references this publisher covers[]

Pagination

FieldValueNotes
Items per page24ITEMS_PER_PAGE constant in lib/pagination.ts
Max pages (SSG)10Static path generation capped at 10 pages
Visible page numbers7Smart ellipsis window; mobile shows "n / total" instead
Page 1 URL/{basePath}No /page/1 suffix
Page 2+ URL/{basePath}/page/{n}Full page navigation (SSR)

Public API Endpoints

MethodPathDescription
GET/api/runs/{slug}Run history + health for a workflow; 60s public cache; powers WorkflowRunChart and WorkflowHealthBadge
POST/api/runs/reportIngests run telemetry from extension; recomputes health score
GET/api/browseFull-text search + filter; params: category, platform, publisher, level, capability, q, page, sort, order
GET/api/homeHomepage data (stats, categories, featured, recent, top platforms)
GET/api/c/{slug}Category page data
GET/api/p/{slug}Platform page data
GET/api/pub/{id}Publisher page data
GET/api/w/{slug}Single workflow data
GET/api/workflows/{id}.jsonSingle workflow JSON (for extension consumption)

WorkflowHealthBadge Thresholds (marketplace)

Score RangeLabelDot Color
>= 0.9HealthyGreen
>= 0.6DegradedYellow
< 0.6IssuesRed
0 runsNo run dataGrey

Note: These thresholds differ from the portal WorkflowTable health badges (which use >=0.9/0.7/0.5/0 → Healthy/Good/Fair/Poor/No data).

Key Components

ComponentFilePurpose
TierCTAcomponents/TierCTA.astroGates between InstallButton (free tier) and "Upgrade to Pro" pricing link (paid tier); used on platform workflow detail
InstallButtoncomponents/InstallButton.astro4-state install lifecycle; extension relay via postMessage; 30s cache; YAML as base64 in data-yaml attribute
TierFiltercomponents/TierFilter.astroClient-side DOM filter on data-tier attribute; only on page 1 (not paginated pages 2+)
TierBadgecomponents/ui/TierBadge.astroPill badge: Free (emerald) / Pro (purple); sm/md size variants
WorkflowHealthBadgecomponents/ui/WorkflowHealthBadge.astroSSR-rendered then client-hydrated from /api/runs/{slug}; dot + label + stats
WorkflowRunChartcomponents/WorkflowRunChart.astrodisplay:none at SSR; loads uPlot 1.6.31 from CDN lazily; success=green/failure=red points; tooltip shows run ID, status, duration, step count
WorkflowGridcomponents/WorkflowGrid.astroCard grid with data-tier for TierFilter compat; publisher avatar link, platform/category badge links, comingSoon tag
WorkflowSequencecomponents/WorkflowSequence.astroPrerequisites → Current → Next Steps horizontal flow
WorkflowStepsVisualcomponents/WorkflowStepsVisual.astro"How It Works" numbered steps with icons
WorkflowRichDescriptioncomponents/WorkflowRichDescription.astroMarkdown-like rich content block
WorkflowHeroMediacomponents/WorkflowHeroMedia.astroHero image/video panel
WorkflowFAQcomponents/WorkflowFAQ.astroExpandable FAQ accordion
PublisherCardcomponents/PublisherCard.astrodefault (full) and compact variants; verified badge; type label (Official/Partner/Community)
Paginationcomponents/Pagination.astroSmart ellipsis, 7-page window, mobile "n/total" format

States

Integrations Index

StateTriggerVisual Indicator
DefaultPage loadAll 47 platform cards in 4-column grid (md:grid-cols-2 lg:grid-cols-4), sorted by workflow count descending
Cookie NoticeFirst visitdialog "Cookie Notice" overlay at bottom with button "Accept" / button "Reject"
Responsive — mobileViewport < 768pxGrid collapses to 1 column; hero buttons stack vertically; category pills wrap
Responsive — tablet768px-1023pxGrid becomes 2 columns (md:grid-cols-2)
Responsive — desktop1024px+Full 4-column grid (lg:grid-cols-4)

Platform Detail

StateTriggerVisual Indicator
Default (All)Page load"All" tab active (dark bg), all workflows listed
Filtered — FreeClick button "Free""Free" tab active, only Free-tier workflows shown
Filtered — ProClick button "Pro""Pro" tab active, only Pro-tier workflows shown
Filtered — EmptyClick tab with 0 count (e.g., Pro=0)Active tab shown, workflow list empty — no "No workflows found" message
Empty Platform (0 workflows)Platform has 0 workflowsNo platform logo img (if letter-initial platform); no description text; no "Browse by Category" section; tier filter buttons present but empty list; "Other Integrations" and CTA still visible
Has PaginationPlatform has >20 workflowsPagination links at bottom: page/2, page/3, etc.
Has Browse by CategoryPlatform has workflows with categories"Browse by Category" section shows relevant category links with counts
No Browse by CategoryPlatform has 0 workflowsSection absent entirely

Workflow Detail

StateTriggerVisual Indicator
Has Solutions LinkWorkflow maps to a solutions role+job via getJobForWorkflow()Top cross-link: "Part of {Category} with SideButton AI — {workflow name}" linking to /solutions/{role}/{job}
No Solutions LinkNo matching solutions mappingCross-link absent
Has How It WorksWorkflow has marketing.workflowSteps dataWorkflowStepsVisual numbered steps with icons
Has Workflow SequenceWorkflow has relations.nextSteps or relations.prerequisitesWorkflowSequence horizontal flow: Prerequisites → Current → Next Steps
No Workflow SequenceEmpty nextSteps and prerequisitesSection absent
Has FAQWorkflow has FAQ dataWorkflowFAQ expandable accordion
No FAQNo FAQ dataSection absent
Has Rich DescriptionWorkflow has rich description contentWorkflowRichDescription block rendered
Has Hero MediaWorkflow has hero image/videoWorkflowHeroMedia panel rendered
Free Tier (platform path)tier: "free" on /integrations/{platform}/{wf}Green "Free" badge; TierCTA shows InstallButton
Pro Tier (platform path)tier: "paid" on /integrations/{platform}/{wf}Purple "Pro" badge; TierCTA shows "Upgrade to Pro" link to /pricing
Free/Pro (category path)Any tier on /integrations/categories/{cat}/{wf}Badge shown; BUT InstallButton used directly (no TierCTA gating) — paid workflows also get install button
Health: Healthyhealth_score >= 0.9Green dot + "Healthy" label in WorkflowHealthBadge
Health: Degraded0.6 <= health_score < 0.9Yellow dot + "Degraded" label
Health: Issueshealth_score < 0.6Red dot + "Issues" label
Health: No data0 runsGrey dot + "No run data" label
Run chart visible/api/runs/{slug} returns run dataWorkflowRunChart section revealed; uPlot chart rendered with green (success) / red (failure) points
Run chart hiddenNo run data or API unavailableWorkflowRunChart section stays display:none

Install Button Lifecycle (Workflow Detail)

StateConditionButton TextButton StyleAction
Coming SooncomingSoon: true"Coming Soon"Gray, disabled (install-btn disabled)None (button disabled)
Get SideButtonExtension not installed OR no YAML content"Get SideButton"Green gradient (install-btn primary)Opens GitHub repo in new tab
Add to SideButtonExtension installed + has YAML + not yet installed"Add to SideButton"Green gradient with + iconPOSTs YAML to localhost:9876/api/actions/install; shows "Installing..." during request
InstalledExtension installed + workflow installed (checked via localhost:9876/api/actions)"Installed"Light green border (install-btn installed)Links to localhost:9876 dashboard
Install ErrorInstall POST fails"Add to SideButton" (reverted)Original style + red error textShows "Install failed. Is SideButton running?" for 5 seconds

Categories Index

StateTriggerVisual Indicator
DefaultPage loadAll 11 category cards sorted by workflow count descending; categories with 0 workflows still shown

Category Detail

StateTriggerVisual Indicator
DefaultPage loadAll category workflows listed, "All" tab active
Filtered — FreeClick button "Free"Only free workflows shown
Filtered — ProClick button "Pro"Only pro workflows shown
Has Solutions LinkCategory matches a solutions role"See {Category} with SideButton AI" cross-link visible with subtitle
No Solutions LinkCategory has no matching roleCross-link section absent
Empty Category (0 workflows)Category has 0 workflowsEmpty state message: "No workflows found." with icon (from WorkflowGrid component)

Publishers Index / Detail

StateTriggerVisual Indicator
Default (index)Page loadPublisher cards shown, sorted by workflow count descending; verified badge shown if verified: true
Default (detail)Page loadWorkflow list sorted by total run count descending (via SQL join on workflow_health), NOT alphabetical
Publisher has bannerbanner field non-emptyBanner image in hero background
Publisher no bannerbanner field emptyNo banner, plain hero

Paginated Pages (Page 2+)

StateTriggerVisual Indicator
No tier filterPages 2+ for platform/category/publisherTierFilter component is NOT included; all workflows shown without filtering
No solutions cross-linkCategory pages 2+Solutions role cross-link banner is NOT included
No JSON-LDPagination pagesNo structured data on paginated pages
Pagination controlsAny paginated pagePagination component with smart ellipsis, Previous/Next, "Page n of m"

Common Tasks

1. Browse All Platforms

  1. Navigate to /integrations
  2. Scroll past Skill Packs banner and Category pills to "All Platforms" section
  3. Platform cards sorted by workflow count (highest first)
  4. Click any platform card to view its workflows

2. Browse by Category

  1. Navigate to /integrations
  2. Click link "Browse by Category" in hero OR scroll to "Browse by Category" pill section
  3. Click a category pill (e.g., "Marketing")
  4. View category detail page with filtered workflows

3. Filter Workflows by Tier (Platform Detail)

  1. Navigate to /integrations/{platform}
  2. Locate heading "All {Platform} Workflows"
  3. Click tier filter tab: button "All", button "Free", or button "Pro"
  4. Workflow list updates instantly (client-side filter, no page reload)
  5. Tab counts show number of workflows per tier

4. Filter Workflows by Tier (Category Detail)

  1. Navigate to /integrations/categories/{category}
  2. Locate heading "All {Category} Workflows"
  3. Click tier filter tab: button "All", button "Free", or button "Pro"
  4. Same client-side filter behavior as platform detail

5. View Workflow Detail

  1. Navigate to /integrations/{platform} (or category/publisher page)
  2. Click a workflow card (link containing heading)
  3. View: hero with badges, benefits, publisher, how-it-works, use cases, workflow sequence, automation capabilities, related workflows
  4. Check install button state (Get SideButton / Add to SideButton / Installed / Coming Soon)

6. Install Workflow via Workflow Detail

  1. Navigate to workflow detail page
  2. If extension not installed: "Get SideButton" button → opens GitHub repo
  3. If extension installed + workflow has YAML + not installed: "Add to SideButton" button → click to install directly
  4. Button shows "Installing..." during install, then switches to "Installed" on success
  5. If install fails: error message "Install failed. Is SideButton running?" appears for 5 seconds
  6. If already installed: "Installed" button (green border, checkmark) → links to localhost:9876

7. Check Install Status

  1. Navigate to any workflow detail page
  2. Install button auto-detects extension + installed state on page load (checks localhost:9876/api/actions)
  3. Switching tabs and returning triggers re-check (visibilitychange listener)
  4. Installed actions are cached for 30 seconds

8. Navigate Breadcrumbs

  1. On any sub-page, breadcrumb trail appears below header in navigation > list
  2. Pattern: Integrations > {Platform} > {Workflow} or Integrations > Categories > {Category}
  3. Click any breadcrumb segment to navigate up — last item is plain text (current page, not clickable)

9. View Publisher Profile

  1. Navigate to /integrations/publishers OR click publisher link from workflow detail
  2. Click publisher card (contains img + heading)
  3. View: publisher logo, name, workflow count, description, full workflow list
  4. Publisher workflows span multiple platforms (e.g., SideButton publisher has 22 workflows across SideButton, Terminal, Wikipedia platforms)

10. Cross-Navigate Integrations → Solutions

  1. On category detail: if category maps to a solutions role, click "See {Category} with SideButton AI"
  2. On workflow detail: if workflow maps to a solutions job, click "Part of {Category} with SideButton AI" at top
  3. Both navigate to the solutions section for deeper role/job context

11. View How It Works (Workflow Detail)

  1. Navigate to workflow detail page
  2. Scroll to heading "How It Works" section
  3. View numbered step-by-step visualization of workflow execution
  4. Each step shows: icon + step number + title + description

12. View Workflow Sequence Chain

  1. Navigate to workflow detail page
  2. If workflow has a next step, scroll to heading "Workflow Sequence" section
  3. Shows: current workflow (with "Current" badge) → "Then Run" → next workflow card
  4. Click next workflow card to navigate to its detail page

13. Navigate Paginated Workflows

  1. On platform/category/publisher pages with >24 workflows (24 per page)
  2. Pagination controls appear at bottom: Previous/Next + page numbers with smart ellipsis
  3. Click page number to load /integrations/{platform}/page/{N}
  4. This is SSR (server-side) — full page navigation, not client-side
  5. Note: Pages 2+ do NOT have tier filter tabs — only page 1 has TierFilter

14. View Platform Setup Instructions

  1. Navigate to platform detail for a platform with setupSteps (e.g., ChatGPT, Claude Code, Cursor)
  2. Setup steps are rendered conditionally — only if the platform data includes them
  3. Shows ordered list of setup instructions

Tips

  • Platform grid on index is sorted by workflow count descending — platforms with most workflows appear first
  • Category pills on index page have unique hex colors per category — color-coded for visual distinction via color field in categories.json
  • Tier filter is client-side — no page reload, instant filtering; URL does NOT change
  • Tier filter count badges (e.g., "Free (5)") show per platform/category — useful for quickly assessing available content
  • Breadcrumb navigation is consistent across all sub-pages — always starts with link "Integrations"; last item is always plain text
  • Category detail pages show "Available Platforms" section — only platforms that have workflows in that category
  • Publisher detail pages do NOT have tier filter tabs — all workflows listed flat
  • "Other Integrations" section on platform detail shows 6 related platforms — selection is static, not based on category similarity
  • "Other Categories" section on category detail shows all sibling categories as pill links (excludes current category)
  • Workflow detail "Automation Capabilities" section shows the actual step types used in that workflow's YAML with links to docs
  • Workflow level maps to display labels: primitive → "Quick Action", task → "Task", process → "Process", workflow → "Workflow", pipeline → "Pipeline"
  • Install button state is checked on page load AND on tab visibility change — switching away and back triggers a re-check
  • Publisher displayName is used in UI (not name) — e.g., a publisher named "aictpo" displays as "AICTPO"
  • Publisher type determines badge display: official = SideButton team, partner = verified third-party, community = community contributor
  • verified: true publishers have a verified badge next to their name
  • Platform category field is the primary category — but a platform can have workflows in multiple categories (shown in per-platform "Browse by Category" section)
  • Publisher detail page sorts workflows by total run count descending (SQL join on workflow_health), NOT alphabetically — most-used workflows appear first
  • WorkflowHealthBadge is SSR-rendered at build time, then immediately re-fetched client-side from /api/runs/{slug} — the initial state may differ from the live state
  • WorkflowRunChart loads uPlot 1.6.31 lazily from CDN (cdn.jsdelivr.net) — not bundled; if CDN is unreachable, chart silently fails to render
  • Category workflow detail (/integrations/categories/{cat}/{wf}) uses InstallButton directly, NOT TierCTA — paid workflows get an install button instead of "Upgrade to Pro"
  • getSameFunctionWorkflows() exists in marketplace.ts (maps cross-platform equivalents like HubSpot/Salesforce lead enrichment) but is NOT rendered on any current page
  • getExploreLinks() exists in marketplace.ts but is NOT rendered on any current page
  • SEO JSON-LD: index has CollectionPage + BreadcrumbList; platform detail has BreadcrumbList + SoftwareApplication; workflow detail has BreadcrumbList + optional HowTo; category/publisher pages have no JSON-LD

Gotchas

  • Tier filter is client-side only: Clicking filter tabs does NOT change the URL or cause navigation — take a fresh snapshot of the same page after click to see filtered state
  • Platform logo fallback: Platforms without a logoUrl (Terminal, Workday, Wave) render a colored letter initial using color hex + first character of nameimg selector will be absent for these
  • Install button has 4 states, not 2: The button is not just "Installed" vs "Install" — it cycles through: Coming Soon → Get SideButton → Add to SideButton → Installing... → Installed (or Error). Extension detection happens via document.documentElement.dataset.sidebutton === 'ready'
  • Install check uses extension relay: The install button checks localhost:9876/api/actions via the Chrome extension's message relay (SIDEBUTTON_FETCH), NOT a direct fetch — this bypasses Private Network Access restrictions in Chrome
  • No empty state message on tier filter: When tier filter shows 0 results on platform/category detail, the workflow list simply disappears — no "No workflows found" message. But when the WorkflowGrid component renders with 0 workflows initially, it shows a centered "No workflows found." message with icon
  • Cookie consent dialog: Shows on first visit as dialog "Cookie Notice" at bottom — button "Accept" / button "Reject" + link "Privacy Policy" — may overlay bottom-of-page elements
  • Pagination is SSR: Unlike tier filter (client-side), pagination is server-side — clicking page 2 navigates to a new URL (/page/2), full page reload
  • Breadcrumb last item is not a link: The current page in breadcrumb is plain text, not clickable — only parent segments are links
  • Solutions cross-link is conditional on both category AND workflow detail: Category detail shows "See {Category} with SideButton AI" → /solutions/{role}; workflow detail shows "Part of {Category} with SideButton AI — {name}" → /solutions/{role}/{job}. Not all categories/workflows have this
  • Run stats depend on server: "No run data" vs "{N} runs" — the count comes from SideButton server API; if server is not running, shows "No run data" even for executed workflows
  • Publisher workflow count differs from platform count: SideButton publisher shows 22 workflows (spans Terminal, Wikipedia) while SideButton platform shows 20 workflows — publisher pages aggregate cross-platform
  • comingSoon workflows are hidden from counts: availableWorkflows excludes comingSoon workflows; they only show in WorkflowGrid with an amber "Coming Soon" badge and a disabled install button
  • Banner fallback: Publisher banner field can be empty string — hero renders without a banner background image in that case
  • SideButton extension FAB: Bottom-right corner has a floating button "Click" + green "S" circle injected by the Chrome extension — can overlap with page content and appear in snapshots; this is NOT part of the website
  • Responsive breakpoints: Platform grid uses Tailwind md:grid-cols-2 lg:grid-cols-4; workflow grids use md:grid-cols-2 lg:grid-cols-3. Mobile (<768px) is single column
  • Category emoji rendering: Categories use emoji in the icon field name (e.g., "users" -> rendered emoji) but the actual emoji is rendered by the component, not stored as emoji in the data — the rendered emoji may vary by OS
  • Tier filter absent on paginated pages: Pages 2+ (/page/{n}) do NOT include the TierFilter component — all workflows are shown unfiltered; only page 1 has tier filtering
  • Category workflow detail tier bypass: Workflows accessed via /integrations/categories/{cat}/{wf} use InstallButton directly (not TierCTA), so paid workflows show an install button instead of "Upgrade to Pro" — this is inconsistent with the platform path behavior
  • Health badge thresholds differ by context: Marketplace WorkflowHealthBadge uses >=0.9/>=0.6/<0.6 (Healthy/Degraded/Issues); portal WorkflowTable uses >=0.9/>=0.7/>=0.5/>0 (Healthy/Good/Fair/Poor) — same underlying score, different labels and cutoffs
  • WorkflowRunChart hidden until data: The chart section has display:none at SSR time; it only becomes visible if the client-side fetch to /api/runs/{slug} returns run data — this means the chart may never appear for unexecuted workflows
  • WorkflowHealthBadge double-fetch: The badge is SSR-rendered from build-time DB data, then immediately re-fetched client-side — there can be a brief flash where the label changes if the live data differs from the build-time snapshot
  • Health score penalty: Health score = base success rate, penalized by -0.05 per failure in the last 5 runs — recent failures disproportionately hurt the score
  • Publisher sorting is by runs, not alphabet: Publisher detail page uses getWorkflowsByPublisherSortedByRuns() which sorts by workflow_health.total_runs DESC — workflows with more runs appear first
  • Full-text search API exists: /api/browse supports q parameter for full-text search via workflows_fts SQLite virtual table — but there is no search UI in the marketplace pages