fix(integrations): stop overclaiming instant delivery for polling-only triggers, add icon borders#5489
fix(integrations): stop overclaiming instant delivery for polling-only triggers, add icon borders#5489waleedlatif1 wants to merge 2 commits into
Conversation
…y triggers, add icon borders
- Integration landing pages ("Real-time triggers" section, FAQ, keywords) claimed "instant... no polling, no delay" for every integration with a registered trigger, even ones that only poll on an interval (HubSpot, Outlook) - swapped in honest copy for polling-only integrations
- Threaded a polling flag through generate-docs.ts -> integrations.json so this is data-driven, not hardcoded per integration
- Added missing tile borders to the Agent-templates icon chain and the "Start automating {name} today" CTA icons, matching the bordered tile style already used elsewhere on the page
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Minor UI: Reviewed by Cursor Bugbot for commit 69bddc4. Configure here. |
Greptile SummaryThis PR fixes misleading "instant delivery / no polling" copy on integration landing pages for triggers that actually operate on a polling schedule (HubSpot, Outlook, Gmail, Google Calendar, Google Drive, Google Sheets), and threads a data-driven
Confidence Score: 5/5Safe to merge — changes are confined to landing-page copy, SEO metadata, icon styling, and a regenerated JSON catalog; no runtime logic or data paths are affected. All changed code paths are landing-page rendering and static JSON generation. The triggerKindLabel helper correctly handles all three trigger-mix cases. The polling extraction in the generator defaults safely to false. The only nits are a missing operation description in the JSON and a developer-experience documentation gap for future polling triggers. No files require special attention. integrations.json has a minor empty description on the new Textract operation, and generate-docs.ts relies on contributors remembering to set polling: true in trigger sources. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Trigger source file\n(polling: true / absent)"] -->|regex scan| B["generate-docs.ts\nbuildTriggerRegistry()"]
B -->|polling: boolean| C["integrations.json\nTriggerInfo[]"]
C -->|parsed at build| D["page.tsx\nIntegration object"]
D --> E{hasWebhookTrigger?}
E -->|all polling| F["Label: scheduled\nCopy: Sim checks X regularly"]
E -->|all webhook| G["Label: real-time\nCopy: runs the instant an event happens"]
E -->|mixed| H["Label: scheduled and real-time"]
F --> I[FAQ / hero / metadata keywords]
G --> I
H --> I
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
A["Trigger source file\n(polling: true / absent)"] -->|regex scan| B["generate-docs.ts\nbuildTriggerRegistry()"]
B -->|polling: boolean| C["integrations.json\nTriggerInfo[]"]
C -->|parsed at build| D["page.tsx\nIntegration object"]
D --> E{hasWebhookTrigger?}
E -->|all polling| F["Label: scheduled\nCopy: Sim checks X regularly"]
E -->|all webhook| G["Label: real-time\nCopy: runs the instant an event happens"]
E -->|mixed| H["Label: scheduled and real-time"]
F --> I[FAQ / hero / metadata keywords]
G --> I
H --> I
Reviews (2): Last reviewed commit: "fix(integrations): address review feedba..." | Re-trigger Greptile |
…and FAQ wording
- triggerKindLabel() now covers the mixed webhook+polling case instead of labeling any integration with at least one webhook trigger as fully "real-time"
- The second trigger FAQ answer no longer implies push delivery ("X sends") for polling-only integrations
|
@greptile-apps re the outside-diff comment on the second FAQ answer ("${name} sends" implying push delivery for polling integrations) — fixed, same commit as the inline mixed-trigger fix (69bddc4). The answer now reads "...the next time ${name} is checked" for polling-only integrations instead of "delivered the instant ${name} sends it". |
|
@cursor review |
|
Confirmed — the fix is in place. The second trigger FAQ answer in ${triggersArePolling ? `the next time ${name} is checked` : `delivered the instant ${name} sends it`}That's exactly right. The "Real-time triggers" section intro copy is also handled — polling-only integrations get |
There was a problem hiding this comment.
✅ 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 69bddc4. Configure here.
Summary
pollingflag throughgenerate-docs.ts→integrations.json→ the landing page so this is data-driven, not hardcoded per integrationType of Change
Testing
Tested manually (typecheck + biome clean on all changed files; regenerated
integrations.jsonand verified HubSpot/Outlook now carrypolling: truewhile GitHub/Jira/Linear stayfalse)Checklist