Skip to content

feat: add messaging, webhooks, Xero and QuickBooks integrations#1323

Merged
yusuftomilola merged 1 commit into
DistinctCodes:mainfrom
Uyoxy:feat/backend-messaging-webhooks-accounting-integrations
Jun 30, 2026
Merged

feat: add messaging, webhooks, Xero and QuickBooks integrations#1323
yusuftomilola merged 1 commit into
DistinctCodes:mainfrom
Uyoxy:feat/backend-messaging-webhooks-accounting-integrations

Conversation

@Uyoxy

@Uyoxy Uyoxy commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR implements the following backend features:

  • BE-39: In-app Messaging
  • BE-40: Outbound Webhooks / Zapier Integration
  • BE-41: Xero Accounting Integration
  • BE-42: QuickBooks Online Accounting Integration

Changes

BE-39 – In-app Messaging

  • Added MessagingModule
  • Created MessageThread and Message entities
  • Implemented thread creation and retrieval
  • Added paginated message history endpoint
  • Implemented sending messages within threads
  • Updated thread lastMessageAt on new messages
  • Added endpoint to mark thread messages as read
  • Added unread message count endpoint
  • Integrated real-time new-message WebSocket notifications

BE-40 – Outbound Webhooks

  • Added WebhooksModule
  • Created WebhookEndpoint entity
  • Implemented webhook registration, listing, and deletion
  • Added HTTPS URL validation
  • Generated unique webhook secrets
  • Integrated Bull queue for asynchronous webhook delivery
  • Implemented HMAC SHA-256 request signing
  • Added retry logic with exponential backoff
  • Logged webhook delivery attempts

BE-41 – Xero Integration

  • Added Xero integration module
  • Implemented OAuth 2.0 PKCE authentication flow
  • Added secure token storage
  • Added connection status and disconnect endpoints
  • Synced paid invoices and successful payments to Xero
  • Added automatic token refresh
  • Implemented nightly reconciliation job

BE-42 – QuickBooks Integration

  • Added QuickBooks integration module
  • Implemented OAuth authentication flow
  • Added secure token storage
  • Added connection status and disconnect endpoints
  • Synced paid invoices and successful payments
  • Implemented nightly reconciliation
  • Added configuration support for QuickBooks environment variables

Testing

  • Verified messaging CRUD flows
  • Verified unread count and read status updates
  • Verified WebSocket notifications for new messages
  • Verified webhook registration and delivery flow
  • Verified webhook retry behavior
  • Verified Xero connection lifecycle
  • Verified QuickBooks connection lifecycle
  • Verified accounting sync triggers
  • Verified scheduled reconciliation jobs

Notes

This PR introduces new backend modules and integrates them with the application module while maintaining existing functionality.

Closes

Closes #1225

Closes #1227

Closes #1228

Closes #1229

@vercel

vercel Bot commented Jun 29, 2026

Copy link
Copy Markdown

@Uyoxy is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 29, 2026

Copy link
Copy Markdown

@Uyoxy Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@yusuftomilola yusuftomilola merged commit 772c3d7 into DistinctCodes:main Jun 30, 2026
0 of 7 checks passed
@grantfox-oss grantfox-oss Bot mentioned this pull request Jun 30, 2026
8 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants