Skip to content

feat(slack): add install + privacy section to integration landing page#4799

Merged
waleedlatif1 merged 4 commits into
stagingfrom
waleedlatif1/rebase-docs-gen
May 29, 2026
Merged

feat(slack): add install + privacy section to integration landing page#4799
waleedlatif1 merged 4 commits into
stagingfrom
waleedlatif1/rebase-docs-gen

Conversation

@waleedlatif1
Copy link
Copy Markdown
Collaborator

Summary

  • Add a hand-authored, slug-keyed landing-content.ts module (kept separate from the auto-generated integrations.json so it survives generate-docs regeneration) and render an install walkthrough + privacy-policy link on integration detail pages when content exists for that slug
  • Populate the Slack entry: "Add Sim to your Slack workspace" steps, an Add-to-Slack CTA, and a privacy blurb linking to /privacy — addresses Slack Marketplace landing-page requirements (install instructions behind login + visible privacy link)
  • Rendering is generic (INTEGRATION_LANDING_CONTENT[slug]), so any integration can opt in; no Slack-specific code in the page
  • Also includes a routine generate-docs refresh (new Data Enrichment entry, icon mappings, and apollo/enrichment/resend/wiza/zoominfo tool docs)

Type of Change

  • New feature / content

Testing

bun run lint, tsc, and biome pass. Docs generation is idempotent (re-running produces no further changes). integrations.json validated as JSON.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Adds a hand-authored, slug-keyed landing-content module (separate from the generated integrations.json so it survives regeneration) and renders an install walkthrough + privacy-policy link on integration pages when present. Also refreshes generated docs (data-enrichment entry, icon mappings, tool mdx).
@cursor
Copy link
Copy Markdown

cursor Bot commented May 29, 2026

PR Summary

Low Risk
Mostly marketing/docs and static landing UI; no auth or runtime workflow logic changes beyond displaying optional JSON-driven content.

Overview
Integration detail pages can now show optional install walkthroughs and a Privacy & data blurb when integration.landingContent is present—driven by slug-keyed landing-content.ts merged into integrations.json by generate-docs, with Slack as the first consumer (OAuth steps, “Add to Slack” CTA, link to /privacy).

The same PR refreshes generated docs/assets: Data Enrichment in the integrations catalog, EnrichmentIcon and azure_devopsAzureIcon, tighter Apollo / enrichment / Resend / Wiza / ZoomInfo tool docs, and minor icon tweaks (e.g. ZoomInfo viewBox).

Reviewed by Cursor Bugbot for commit 90021e7. Configure here.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 29, 2026

Greptile Summary

This PR adds integration-specific install-walkthrough and privacy-policy sections to the landing page for integrations that opt in via a new landing-content.ts data file. The first consumer is the Slack entry, which satisfies Slack Marketplace requirements (visible install steps + privacy link). It also adds a Data Enrichment integration, updates icon mappings, and refreshes several tool documentation files.

  • landing-content.ts is the hand-authored source of truth, keyed by slug; generate-docs.ts bakes it into integrations.json so the page consumes one source (integration.landingContent) with no render-time augmentation.
  • The two new page sections (install and privacy) are independently guarded and generic — any integration can opt in with no Slack-specific code in the page.
  • Icon changes: azure_devops is remapped from AzureDevOpsIcon to AzureIcon in both icon-mapping files and integrations.json; a new EnrichmentIcon is added for the Data Enrichment entry.

Confidence Score: 5/5

Safe to merge — changes are additive content and UI sections with no impact on existing integrations or data flows.

The new page sections are purely additive and opt-in; all existing integration pages are unaffected. The data pipeline (landing-content.ts → generate-docs → integrations.json → page) is correctly implemented and idempotent. The IntegrationCtaButton correctly opens the sign-up auth modal. No auth, data, or runtime logic is modified.

No files require special attention. The landing-content.ts comment is slightly inaccurate (see inline suggestion) but has no runtime effect.

Important Files Changed

Filename Overview
apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx Adds two opt-in sections (install walkthrough + privacy) guarded by independent landingContent?.install / landingContent?.privacy checks; IntegrationCtaButton correctly opens the sign-up auth modal
apps/sim/app/(landing)/integrations/data/landing-content.ts New hand-authored data module with Slack install steps and privacy blurb; header comment says 'Has no app imports' but the file does use import type with the @/ path alias — true at runtime (erased), but misleading for contributors
apps/sim/app/(landing)/integrations/data/types.ts Adds IntegrationInstallStep and IntegrationLandingContent interfaces (both sub-fields independently optional), and extends Integration with optional landingContent
apps/sim/app/(landing)/integrations/data/integrations.json Adds Data Enrichment entry, updates azure_devops iconName to AzureIcon, and embeds landingContent for the Slack entry (matches landing-content.ts exactly)
scripts/generate-docs.ts Dynamically imports landing-content.ts via pathToFileURL and merges landing content into each matching slug during JSON generation; correctly handles the type-only import erasure
apps/sim/app/(landing)/integrations/data/icon-mapping.ts Removes unused AzureDevOpsIcon import, remaps azure_devops to AzureIcon, and adds new EnrichmentIcon entry
apps/docs/components/icons.tsx Adds EnrichmentIcon (sparkles/stars SVG) and fixes ZoomInfo viewBox coordinates

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[landing-content.ts\nhand-authored, slug-keyed] -->|generate-docs.ts bakes content| B[integrations.json\nlandingContent field]
    B -->|imported at build time| C[bySlug map]
    C -->|integration.landingContent| D[page.tsx]
    D -->|landingContent?.install| E[Install Walkthrough Section\nheading + steps + CTA button]
    D -->|landingContent?.privacy| F[Privacy Section\nbody + policy link]
    E -->|IntegrationCtaButton| G[AuthModal sign-up]
Loading

Reviews (3): Last reviewed commit: "refactor(landing): bake integration land..." | Re-trigger Greptile

Comment thread apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx Outdated
Comment thread apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx
@vercel
Copy link
Copy Markdown

vercel Bot commented May 29, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs Ready Ready Preview, Comment May 29, 2026 11:23pm

Request Review

Comment thread apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx
Comment thread apps/sim/app/(landing)/integrations/(shell)/[slug]/page.tsx
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 611f55d. Configure here.

…on via docs-gen

Moves landing content (install walkthrough + privacy) out of a render-time augment and into the generation pipeline: generate-docs reads the pure-data content map and writes landingContent into integrations.json, so the page reads a single source (integration.landingContent). Canonical types live in integrations/data/types.ts.
@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1
Copy link
Copy Markdown
Collaborator Author

@cursor review

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 90021e7. Configure here.

@waleedlatif1 waleedlatif1 merged commit e1e773f into staging May 29, 2026
14 checks passed
@waleedlatif1 waleedlatif1 deleted the waleedlatif1/rebase-docs-gen branch May 29, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant