Skip to content

feat(integrations): sprint 2 β€” webhooks UI, CSV/Trello importers, action-aware notifications#252

Merged
parth0025 merged 1 commit into
stagingfrom
feat/sprint2-implementation
Jun 17, 2026
Merged

feat(integrations): sprint 2 β€” webhooks UI, CSV/Trello importers, action-aware notifications#252
parth0025 merged 1 commit into
stagingfrom
feat/sprint2-implementation

Conversation

@parth0025

Copy link
Copy Markdown
Collaborator

Sprint 2 β€” Integrations & Importers

Verified end-to-end against a local instance: Slack, Discord, and JSON webhooks all delivering; CSV + Trello imports landing tasks.

Integrations (Settings β†’ Integrations) β€” S2-01 / S2-03

  • New Integrations settings page to manage Slack / Discord / JSON outgoing webhooks: per-event subscriptions, secret, enable toggle, and delivery logs.
  • Action-aware notifications β€” instead of a generic "Task updated" with the same two fields, the message names the actual action (Status changed, Assignees updated, Priority changed, Renamed, Due date updated, Estimate updated, …) and shows only the relevant field.
  • from β†’ to diffs β€” e.g. Status: To Do β†’ In Progress, via a per-task snapshot cache; assignee/lead ids resolved to names.
  • Create now fires exactly one task.created β€” suppresses create-flow churn (TaskKey assignment, counter/index writes) and the project-counter phantom emit; the full task is re-read before delivery so payloads are complete.

Importers (project filter toolbar) β€” S2-04 / S2-05

  • CSV and Trello importers mirroring the existing Jira importer; map columns / lists onto the project's statuses and bulk-create through the same createMultipleTasks pipeline (keys, counters, sockets all native).
  • Statuses now resolve from the project's own taskStatusData (guaranteed type/key) so imports never fail statusType validation on projects with custom statuses; the Jira importer was routed through the same shared helper (fixes a latent bug there too).
  • Downloadable sample template in all three import modals.

Tasks

  • Removed the automatic AI time estimate on task creation (it fired a spurious task.updated); the estimate is now manual-only (sidebar button + AI project generator still use it).

Testing

  • 198 unit tests passing (webhook-rules, csv-rules, trello-rules).
  • Manually verified: Slack/Discord/JSON deliveries, action-aware + fromβ†’to formatting, CSV + Trello imports.

Notes

  • S2-02 (n8n community node) is intentionally out of scope β€” it belongs in a separate n8n-nodes-alianhub package, not this repo.
  • Local-only files (.claude/settings.local.json, throwaway .claude/import-samples/) were left out.

πŸ€– Generated with Claude Code

…ion-aware notifications

Integrations (Settings β†’ Integrations):
- Manage Slack / Discord / JSON outgoing webhooks with per-event
  subscriptions and delivery logs
- Action-aware notifications: announce the specific change (status,
  assignee, priority, due, rename, estimate, …) with fromβ†’to diffs and
  assignee/lead ids resolved to names
- Deliver exactly one task.created on create (suppress create-flow churn
  and the project-counter phantom emit); re-read the full task before
  delivery so payloads are complete

Importers (project filter toolbar):
- CSV and Trello importers mirroring the Jira importer; map columns /
  lists onto the project's statuses
- Resolve statuses from the project's taskStatusData with a guaranteed
  type/key so imports never fail statusType validation; route the Jira
  importer through the same shared helper
- Downloadable sample templates in all three import modals

Tasks:
- Stop the automatic AI time estimate on task creation (manual-only now)

Tests: 198 passing (webhook-rules, csv-rules, trello-rules).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@parth0025 parth0025 self-assigned this Jun 17, 2026
@parth0025 parth0025 changed the title feat(integrations): Sprint 2 β€” webhooks UI, CSV/Trello importers, action-aware notifications feat(integrations): sprint 2 β€” webhooks UI, CSV/Trello importers, action-aware notifications Jun 17, 2026
@parth0025 parth0025 merged commit 1ffb9e5 into staging Jun 17, 2026
3 of 6 checks passed
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