Skip to content

feat: inbound email channel plugin (IMAP) + keepAlive plugin primitive#62

Draft
rgrjnr wants to merge 1 commit into
masterfrom
feat/email-channel
Draft

feat: inbound email channel plugin (IMAP) + keepAlive plugin primitive#62
rgrjnr wants to merge 1 commit into
masterfrom
feat/email-channel

Conversation

@rgrjnr

@rgrjnr rgrjnr commented Jul 14, 2026

Copy link
Copy Markdown
Collaborator

Status

Parked since 2026-03-02 (single commit, ~1,200 lines). None of it exists in master — the product still has no inbound email channel. Will need a rebase: master has since gained Chatwoot channel integration and customer-metadata changes touching the same plugin-api/trpc.ts area.

What it contains

  • plugins/core/email-imap: IMAP poller, SMTP sender, message delivery (~800 lines). Distinct from master's plugins/core/email, which is send-only.
  • Core keepAlive/always-on plugin mechanism (bootKeepAlivePlugins in plugin-manager.service.ts) — a primitive master still lacks
  • Email-aware customer creation in the plugin API (sets customer.email instead of phone for email channels)

Next steps

  • Decide if email-as-a-channel is still wanted (and whether IMAP polling is the right approach vs. webhooks/forwarding)
  • Rebase onto master; reconcile with the newer customer-identity model (external_id per channel)
  • Consider extracting the keepAlive plugin primitive separately — it's useful beyond email
  • Review, then merge or close

🤖 Generated with Claude Code

https://claude.ai/code/session_01MCtGwJ57KXme4o16M8b9eW

- Updated the `pluginApiTrpcRouter` to include name and phone fields when creating a new customer, utilizing metadata if available.
- Implemented logic to backfill name and phone for existing customers if they were not previously set, ensuring more complete customer records.
- Streamlined the update process for customer metadata, improving data integrity and consistency.

These changes enhance the customer management capabilities within the plugin API by ensuring that essential information is captured and updated effectively.
@rgrjnr
rgrjnr force-pushed the feat/email-channel branch from ec3fcdd to 3b4b15d Compare July 14, 2026 17:32
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