feat(helpscout): knowledge base connector, auto-registered triggers, 12 more tools, and validation fixes by waleedlatif1 · Pull Request #9253 · simstudioai/sim · GitHub
Skip to content

feat(helpscout): knowledge base connector, auto-registered triggers, 12 more tools, and validation fixes - #9253

Merged
waleedlatif1 merged 9 commits into
stagingfrom
fix/helpscout-not-found-error
Oct 21, 2026
Merged

waleedlatif1 merged 9 commits into
stagingfrom
fix/helpscout-not-found-error

Conversation

@waleedlatif1

@waleedlatif1 waleedlatif1 commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Knowledge base connector (helpscout): syncs Help Scout conversations and their threads into a knowledge base. Optional inbox (selector + manual ID), status, tag filter, include/exclude internal notes, and a max-conversations cap (default 500, max 5000). Listing returns deferred stubs whose hash comes from listing fields (thread count, status, timestamps, preview, tags), so only changed conversations are re-fetched; a cap that hides conversations marks the listing capped so deletions never reconcile against a partial set. Content is plain text (HTML stripped, line items skipped) ordered by time; tags map to status, tags, customer email, assignee, created date, and thread count. Works with both the OAuth and the app-credential connection
  • Auto-registered webhook triggers: every Help Scout trigger now takes the Help Scout account (OAuth) plus an optional inbox. Deploy creates the Help Scout webhook with the trigger's events and a generated 40-character signing secret (externalId/webhookSecret stay system-managed); undeploy deletes it. The catch-all trigger subscribes to all 12 supported events. Replaces the manual paste-the-URL-and-secret setup
  • 12 more tools (37 total): update conversation custom fields + list inbox custom fields, snooze/unsnooze, list/get saved replies, update customer properties + list property definitions, add customer message (customer thread), change conversation customer, list/get organizations; Update Customer can also add an email or phone
  • Assignee picker lists users and teams (helpscout.assignees replaces helpscout.users; teams share the user ID space)
  • Validation round (validate-trigger / validate-integration / validate-connector): webhook-create errors show Help Scout's reason, pinned payloadVersion: 'V2', "All Events" catch-all, no inbox filter on customer triggers, traceable webhook labels, Location fallback for the webhook ID; connector marks reconciliation unsafe when the result total shifts mid-scan, bounds the scan, adds Last Updated, skips spam/drafts/merged conversations, contentConcurrency: 3; tool output constants moved to types.ts so generated docs list each tool's own outputs; removal migration for the retired webhookSecret trigger field
  • helpscout-errors explains Help Scout's empty-body 404s and is now explicitOnly, so the fallback chain never applies it to other services
  • Docs intro updated for the connector and the new trigger setup

Type of Change

  • New feature

Testing

Live against a real Help Scout account, through a local Sim on this branch:

  • Credentials: app credential created through POST /api/v2/credentials (connect-time /users/me verification, display name from the verified user; wrong secret rejected with invalid_credentials); browser OAuth connect, token resolution through the credential service, forced refresh with refresh-token rotation persisted
  • Selectors: inbox and user selectors through /api/v2/selectors/list|get with both credentials; missing credential rejected
  • Workflow execution: deployed workflow of six Help Scout blocks run through the executor, alternating OAuth and app credentials: get current user, list inboxes, create conversation (inbox from the selector value), add note via <block.id> and <block.user.firstName> references with the status dropdown mapped, get with threads, delete
  • Triggers: deploy created the Help Scout webhook (verified via API: convo.created, inbox filter, V2 payload); real Help Scout delivery through the tunnel hit /api/webhooks/trigger/<path>, passed signature verification with the generated secret, queued, and ran the workflow, whose downstream block posted a note back with resolved trigger outputs; undeploy deleted the webhook (404). Catch-all trigger subscribes to all 12 events; an app credential is refused at deploy with no partial registration
  • Connector: created through /api/v2/knowledge/{id}/connectors (OAuth and app credential); initial sync stored the conversation with correct text and tag slots; a new customer reply re-synced exactly that document; deleting the conversation in Help Scout removed it on the next sync. Embedding failed locally only because the local OpenAI key is invalid
  • New tools live-checked against the account: custom fields, saved replies, organizations (with counts), properties error surfacing, customer email/phone add, customer message, snooze/unsnooze round trip, change customer; assignee picker paging users then teams; a note-only change moves the connector hash; list vs single-conversation hash parity with multiple tags
  • Direct live checks: all 25 tools through the shared transport (24 exercised; move needs a second inbox), 10 real webhook deliveries through the handler, 14 connector checks (hash parity between listing and fetch, cap flag, notes toggle, change detection, deleted → null)
  • lib/webhooks/providers/helpscout.test.ts, blocks/blocks.test.ts, connector suite tests, selector manifest; check-block-registry, canvas sentences, docs, integration catalog, deployment config, fork-dependent coverage, client boundary, source conventions, utils, comment hygiene, CLI docs, icon precision, biome

Checklist

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

@vercel

vercel Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 1 file

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/tools/error-extractors.ts
@greptile-apps

greptile-apps Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

RetriggerView in GreptileConfidence Score: 5/5

[High impact] The PR appears safe to merge; no new actionable issue was confirmed.

Summary

Adds a Help Scout knowledge connector, automatic webhook setup, and 12 more tools.

  • Help Scout conversations can now be added to a knowledge base.
  • Help Scout triggers create and remove their webhooks with the workflow.
  • Help Scout workflows now have 12 more actions for conversations and customer data.
  • Help Scout assignee pickers now show users and teams together.
  • Help Scout’s empty 404 responses now explain what was not found.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  Deploy[Deploy workflow] --> Create[Create Help Scout webhook]
  Create --> Save[Save webhook ID and signing secret]
  Save --> Verify[Verify incoming deliveries]
  Verify --> Run[Queue workflow run]
  Undeploy[Undeploy workflow] --> Delete[Delete managed webhook]
  Sync[Sync knowledge source] --> List[List conversation hashes]
  List --> Changed{New or changed?}
  Changed -->|Yes| Fetch[Fetch conversation and threads]
  Fetch --> Index[Index plain text]
  Changed -->|No| Keep[Keep existing content]
Loading

Reviews (7) · Last reviewed commit: "fix(helpscout): let cleanup finish for t..." · Reviewed by Greptile

Comment thread apps/sim/tools/error-extractors.ts
@waleedlatif1 waleedlatif1 changed the title fix(helpscout): explain empty-body 404 responses in the error extractor feat(helpscout): add knowledge base connector, auto-registered webhook triggers, and clearer 404 errors Oct 20, 2026
@waleedlatif1 waleedlatif1 changed the title feat(helpscout): add knowledge base connector, auto-registered webhook triggers, and clearer 404 errors feat(helpscout): knowledge base connector, auto-registered triggers, 12 more tools, and validation fixes Oct 20, 2026
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
Comment thread apps/sim/tools/generated/tool-metadata.ts
@simstudioai simstudioai deleted a comment from parameterai Bot Oct 20, 2026
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

All reported issues were addressed across 63 files

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/connectors/helpscout/helpscout.ts Outdated
Comment thread apps/sim/tools/helpscout/types.ts
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai review this PR

@waleedlatif1 I have started the AI code review. It will take a few minutes to complete.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 63 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Turn on auto-fix | Re-trigger cubic

Comment thread apps/sim/lib/webhooks/providers/helpscout.ts Outdated
@waleedlatif1
waleedlatif1 force-pushed the fix/helpscout-not-found-error branch from b0f4919 to cd2d92e Compare October 20, 2026 23:54
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cubic-dev-ai review this PR

@cubic-dev-ai

cubic-dev-ai Bot commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 64 files

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

You've manually re-run cubic several times on this PR. Each manual re-review checks the full PR again and counts toward your usage quota. To preserve your usage limits, we recommend letting cubic automatically review new commits.

Turn on auto-fix | Re-trigger cubic

@waleedlatif1
waleedlatif1 merged commit 4bd6871 into staging Oct 21, 2026
55 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/helpscout-not-found-error branch October 21, 2026 01:17

This branch was successfully deployed

1 active deployment
Preview — cd2d92ed Deployed Oct 20, 2026 by vercel[bot]
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