Skip to content

feat(billing): Use Intercom for ask Support links#115527

Open
souredoutlook wants to merge 3 commits into
masterfrom
souredoutlook/feat/billing-ask-support-intercom-v2
Open

feat(billing): Use Intercom for ask Support links#115527
souredoutlook wants to merge 3 commits into
masterfrom
souredoutlook/feat/billing-ask-support-intercom-v2

Conversation

@souredoutlook
Copy link
Copy Markdown
Contributor

@souredoutlook souredoutlook commented May 13, 2026

Summary

Migrates the three remaining billing-page "Contact Support" / "ask Support" surfaces to use Intercom behind the intercom-support feature flag, falling back to <ZendeskLink> (which itself falls back to mailto) when the flag is off, and to mailto with the surface's original subject line when showIntercom throws. Mirrors the pattern already shipped in the primary nav help menu (#108409) and checkout side panel (#115218).

Surfaces migrated:

  • SuspensionModal in gsBanner.tsx — "Contact Support" button in the account-suspension modal footer
  • TrialEnded alert on the subscription overview — "contact support" link to request another trial
  • PlanMigrationActive panel — "Support" link in the legacy-plan-migration notice

Also includes a one-line follow-up to checkout (#115218) to preserve the original "Billing Question" subject on its Intercom mailto fallback, addressing a Bugbot comment from #115390.

Analytics: each surface fires intercom_link.viewed / intercom_link.clicked with the source label its existing <ZendeskLink> already used ('account-suspension', 'trial', 'billing').

Notes

Replaces #115390, which had a divergent history due to being branched off the pre-squash version of #115218 — re-cut cleanly on top of current master with no force-push.

souredoutlook and others added 3 commits May 13, 2026 15:33
Wire the remaining "Contact Support" surfaces in the billing flow to
Intercom when the intercom-support feature is enabled, falling back to
the existing ZendeskLink otherwise. Affects:

- gsBanner suspension modal
- TrialEnded alert on the subscription overview
- PlanMigrationActive panel for scheduled legacy-plan migrations

Mirrors the pattern in the primary nav help menu and checkout side
panel. On Intercom failure, falls back to mailto with the same subject
the ZendeskLink used. Adds intercom_link.viewed/clicked analytics with
sources matching each surface's existing Zendesk source
('account-suspension', 'trial', 'billing').

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
scraps Button's discriminated union requires children when no
aria-label is provided. The tct-interpolated <Button /> in TrialEnded
and PlanMigrationActive has neither at the JSX site since children
are injected at runtime by tct's cloneElement. Pass {null} as a
placeholder so the type checks; tct overwrites it.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
The Intercom failure path on the checkout side panel fell back to a
bare mailto, dropping the "Billing Question" subject the original
ZendeskLink provided. Restore it for consistency with the suspension,
trial, and plan-migration surfaces, which all include their original
subjects in the mailto fallback.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@souredoutlook souredoutlook requested a review from a team as a code owner May 13, 2026 22:40
@github-actions github-actions Bot added the Scope: Frontend Automatically applied to PRs that change frontend components label May 13, 2026
@github-actions
Copy link
Copy Markdown
Contributor

📊 Type Coverage Diff

✅ No new type safety issues introduced. Coverage: 93.51%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant