Planned - nself-org/plugins GitHub Wiki
Planned Plugins
This document outlines all planned nself plugins, with detailed reasoning for each integration.
Plugin Prioritization
Plugins are prioritized based on:
- Developer demand - How many nself users need this integration
- Data sync value - How valuable is having this data locally
- Webhook importance - How critical are real-time events
- Implementation complexity - Effort required to build
- Maintenance burden - Ongoing effort to keep updated
Priority 1: Billing & Payments
Payment Processors Overview
All payment processor plugins share common patterns:
- Transaction/payment history sync
- Customer/payer data sync
- Webhook handling for real-time updates
- Subscription/recurring payment tracking
| Processor | Priority | Use Case | Complexity |
|---|---|---|---|
| Stripe | Implemented | SaaS, subscriptions, marketplaces | Medium |
| PayPal | High | Consumer payments, international | Medium |
| Square | Medium | Retail, POS, in-person | Medium |
| Braintree | Medium | Enterprise, PayPal-owned | Medium |
| Paddle | Medium | SaaS, tax handling, MoR | Low |
| LemonSqueezy | Medium | Digital products, MoR | Low |
| Gumroad | Low | Creators, digital products | Low |
| Chargebee | Medium | Subscription management | Medium |
| Recurly | Medium | Enterprise subscriptions | Medium |
| FastSpring | Low | Global digital commerce | Medium |
| 2Checkout | Low | Global payments | Medium |
| Adyen | Low | Enterprise, omnichannel | High |
| Mollie | Low | EU payments | Low |
| Razorpay | Low | India payments | Low |
| Mercado Pago | Low | LATAM payments | Medium |
Stripe (Implemented v1.0.0)
Status: Released
See plugins/stripe/ for implementation.
Environment Variables:
STRIPE_API_KEY=sk_live_xxx
STRIPE_WEBHOOK_SECRET=whsec_xxx
PayPal
Priority: High Category: Payments Complexity: Medium
Why PayPal?
- 400+ million active users globally
- Essential for international commerce
- Consumer trust and buyer protection
- PayPal Checkout, Venmo, Pay Later options
Data to Sync:
paypal_transactions- Payment historypaypal_orders- Order recordspaypal_subscriptions- Billing agreementspaypal_disputes- Chargebacks and disputespaypal_payouts- Batch payoutspaypal_webhooks- Event log
Key Webhooks:
PAYMENT.CAPTURE.COMPLETED- Payment receivedPAYMENT.CAPTURE.REFUNDED- Refund processedBILLING.SUBSCRIPTION.CREATED- New subscriptionBILLING.SUBSCRIPTION.CANCELLED- Subscription endedCUSTOMER.DISPUTE.CREATED- Dispute opened
Environment Variables:
PAYPAL_CLIENT_ID=xxx
PAYPAL_CLIENT_SECRET=xxx
PAYPAL_WEBHOOK_ID=xxx
PAYPAL_MODE=sandbox|live
Square
Priority: Medium Category: Payments Complexity: Medium
Why Square?
- Strong retail/POS presence
- Unified online + in-person payments
- Inventory and catalog sync
- Loyalty program integration
Data to Sync:
square_payments- Transaction historysquare_orders- Order recordssquare_customers- Customer profilessquare_catalog- Product catalogsquare_inventory- Stock levelssquare_locations- Store locations
Environment Variables:
SQUARE_ACCESS_TOKEN=xxx
SQUARE_LOCATION_ID=xxx
SQUARE_WEBHOOK_SIGNATURE_KEY=xxx
SQUARE_ENVIRONMENT=sandbox|production
Paddle
Priority: Medium Category: Payments (Merchant of Record) Complexity: Low
Why Paddle?
- Handles tax compliance globally
- Merchant of Record (you don't deal with taxes)
- Simple API for SaaS
- License key management
Data to Sync:
paddle_transactions- Payment historypaddle_subscriptions- Active subscriptionspaddle_customers- Customer datapaddle_products- Product catalogpaddle_prices- Pricing tiers
Environment Variables:
PADDLE_API_KEY=xxx
PADDLE_WEBHOOK_SECRET=xxx
PADDLE_ENVIRONMENT=sandbox|production
LemonSqueezy
Priority: Medium Category: Payments (Merchant of Record) Complexity: Low
Why LemonSqueezy?
- Modern alternative to Gumroad
- Merchant of Record for digital products
- Simple, developer-friendly API
- Built-in license key system
Data to Sync:
lemonsqueezy_orders- Order historylemonsqueezy_subscriptions- Subscriptionslemonsqueezy_customers- Customer profileslemonsqueezy_products- Product cataloglemonsqueezy_license_keys- License management
Environment Variables:
LEMONSQUEEZY_API_KEY=xxx
LEMONSQUEEZY_WEBHOOK_SECRET=xxx
LEMONSQUEEZY_STORE_ID=xxx
Shopify
Priority: High Category: E-Commerce Complexity: Medium-High
Why Shopify?
- Largest e-commerce platform with millions of stores
- Rich webhook ecosystem for real-time order/inventory updates
- Complex data model (products, variants, orders, customers, inventory)
- Critical for headless commerce setups using nself
Data to Sync:
shopify_products- Product catalog with variants, images, metafieldsshopify_collections- Product collections and smart collectionsshopify_customers- Customer profiles and addressesshopify_orders- Order history with line itemsshopify_inventory- Stock levels per locationshopify_fulfillments- Shipment trackingshopify_refunds- Refund transactionsshopify_webhooks- Webhook event log
Key Webhooks:
orders/create,orders/paid,orders/fulfilled,orders/cancelledproducts/create,products/update,products/deleteinventory_levels/updatecustomers/create,customers/updaterefunds/createfulfillments/create,fulfillments/update
Use Cases:
- Headless commerce with custom frontend
- Real-time inventory sync across systems
- Order processing automation
- Customer analytics and segmentation
- Multi-channel product management
Environment Variables:
SHOPIFY_STORE_URL=mystore.myshopify.com
SHOPIFY_ACCESS_TOKEN=shpat_xxx
SHOPIFY_WEBHOOK_SECRET=xxx
SHOPIFY_API_VERSION=2024-01
Plaid
Priority: High Category: Finance Complexity: High
Why Plaid?
- De facto standard for fintech bank connections
- Enables bank account verification for payments
- Transaction data for expense tracking/analytics
- Identity verification for compliance
Data to Sync:
plaid_items- Connected bank accountsplaid_accounts- Individual accounts per institutionplaid_transactions- Transaction historyplaid_balances- Account balance snapshotsplaid_investments- Investment holdings (premium)plaid_webhooks- Webhook event log
Key Webhooks:
TRANSACTIONS_WEBHOOK- New transactions availableITEM_WEBHOOK- Account connection status changesAUTH_WEBHOOK- Auth data updatesHOLDINGS_WEBHOOK- Investment changesLIABILITIES_WEBHOOK- Debt updates
Use Cases:
- Bank account verification for ACH payments
- Expense categorization and budgeting
- Financial reporting and analytics
- Net worth tracking for wealth management
- Income verification for lending
Environment Variables:
PLAID_CLIENT_ID=xxx
PLAID_SECRET=xxx
PLAID_ENV=sandbox|development|production
PLAID_WEBHOOK_URL=https://example.com/webhooks/plaid
Priority 2: DevOps & Development
GitHub
Priority: High Category: DevOps Complexity: Medium
Why GitHub?
- Most popular code hosting platform
- Rich event system via webhooks
- Essential for CI/CD integration
- Issue/PR tracking for project management
Data to Sync:
github_repositories- Repository metadatagithub_issues- Issue trackinggithub_pull_requests- PR history and statusgithub_commits- Commit historygithub_releases- Release versionsgithub_actions- Workflow runsgithub_webhooks- Webhook event log
Key Webhooks:
push- Code pushed to repositorypull_request- PR opened/merged/closedissues- Issue created/updatedrelease- New release publishedworkflow_run- CI/CD completiondeployment,deployment_statuscreate,delete(branches/tags)
Use Cases:
- Track development velocity and metrics
- Automate deployments on merge
- Sync issues with internal task management
- Monitor CI/CD pipeline status
- Auto-update documentation on release
Environment Variables:
GITHUB_TOKEN=ghp_xxx
GITHUB_WEBHOOK_SECRET=xxx
GITHUB_ORG=myorg # or GITHUB_USER
Linear
Priority: Medium-High Category: Productivity Complexity: Low-Medium
Why Linear?
- Popular modern issue tracker
- GraphQL API for efficient querying
- Real-time webhook support
- Clean data model
Data to Sync:
linear_teams- Team structurelinear_projects- Project hierarchylinear_issues- Issue trackinglinear_cycles- Sprint/cycle planninglinear_labels- Labels and tagslinear_webhooks- Webhook event log
Key Webhooks:
Issue- Created, updated, removedComment- New commentsProject- Project updatesCycle- Sprint changesIssueLabel- Label changes
Use Cases:
- Sync tasks with development workflow
- Track sprint progress and velocity
- Connect issues to commits/PRs
- Generate development reports
- Aggregate across multiple projects
Environment Variables:
LINEAR_API_KEY=lin_api_xxx
LINEAR_WEBHOOK_SECRET=xxx
LINEAR_TEAM_ID=xxx # optional
Priority 3: Communication & Support
Intercom
Priority: Medium Category: Communication Complexity: Medium
Why Intercom?
- Leading customer messaging platform
- Rich user and conversation data
- Critical for support analytics
- Product usage tracking
Data to Sync:
intercom_contacts- User profilesintercom_companies- Company accountsintercom_conversations- Chat historyintercom_admins- Team membersintercom_articles- Help center contentintercom_webhooks- Webhook event log
Key Webhooks:
conversation.user.created- New conversationconversation.user.replied- User replyconversation.admin.replied- Agent replyconversation.admin.closed- Conversation resolvedcontact.created,contact.updateduser.tag.created
Use Cases:
- Support ticket analytics
- Customer health scoring
- Response time metrics
- User feedback aggregation
- Help content optimization
Environment Variables:
INTERCOM_ACCESS_TOKEN=xxx
INTERCOM_WEBHOOK_SECRET=xxx
INTERCOM_ADMIN_ID=xxx
Email Service Providers
These plugins share common patterns for email event tracking.
Resend
Priority: Medium Category: Communication Complexity: Low
Why Resend?
- Modern email API designed for developers
- Simple, clean webhook events
- Growing rapidly in developer community
- Excellent deliverability
Data to Sync:
resend_emails- Sent email historyresend_domains- Verified domainsresend_webhooks- Event log
Key Webhooks:
email.sent- Email accepted for deliveryemail.delivered- Email deliveredemail.opened- Email opened (if tracking enabled)email.clicked- Link clickedemail.bounced- Hard/soft bounceemail.complained- Spam report
SendGrid
Priority: Medium Category: Communication Complexity: Low-Medium
Why SendGrid?
- Industry standard for transactional email
- Comprehensive event tracking
- High volume support
Data to Sync:
sendgrid_emails- Sent emailssendgrid_templates- Email templatessendgrid_stats- Delivery statisticssendgrid_webhooks- Event log
Key Webhooks:
processed,delivered,open,clickbounce,dropped,deferredspam_report,unsubscribegroup_unsubscribe,group_resubscribe
Postmark
Priority: Medium Category: Communication Complexity: Low
Why Postmark?
- Focused on transactional email
- Best-in-class deliverability
- Simple, reliable webhooks
Data to Sync:
postmark_messages- Message historypostmark_servers- Server configurationpostmark_templates- Email templatespostmark_webhooks- Event log
Key Webhooks:
Delivery,Bounce,SpamComplaintOpen,Click,SubscriptionChange
Priority 4: Productivity & Documentation
Notion
Priority: Medium Category: Productivity Complexity: Medium
Why Notion?
- Popular all-in-one workspace
- Complex nested data structures
- Growing API capabilities
- Content management for docs
Data to Sync:
notion_pages- Page contentnotion_databases- Database definitionsnotion_database_items- Database rowsnotion_users- Team membersnotion_comments- Page comments
Key Webhooks (limited): Notion webhooks are limited but include:
- Page content changes
- Database property changes
- Comment additions
Use Cases:
- Sync documentation with codebase
- Pull content for headless CMS
- Track project documentation
- Aggregate team knowledge base
Environment Variables:
NOTION_TOKEN=secret_xxx
NOTION_DATABASE_IDS=xxx,yyy,zzz # optional
Airtable
Priority: Medium Category: Productivity Complexity: Low-Medium
Why Airtable?
- Popular spreadsheet-database hybrid
- Flexible data modeling
- Strong automation features
- Good for non-technical teams
Data to Sync:
airtable_bases- Base metadataairtable_tables- Table structureairtable_records- Record dataairtable_webhooks- Event log
Key Webhooks:
- Record created, updated, deleted
- Field changed
- Comment added
Use Cases:
- Sync CRM data from Airtable
- Product inventory management
- Content calendars
- Lead tracking
- Custom data pipelines
Environment Variables:
AIRTABLE_API_KEY=patXXX
AIRTABLE_BASE_ID=appXXX
AIRTABLE_WEBHOOK_SECRET=xxx
Priority 5: Analytics & Data
Segment
Priority: Medium Category: Analytics Complexity: Medium
Why Segment?
- Customer data platform standard
- Central hub for all analytics
- Rich event streaming
- Identity resolution
Data to Sync:
segment_users- User profilessegment_events- Event streamsegment_groups- Group/company datasegment_sources- Data sources
Key Webhooks: Segment uses reverse ETL and webhooks:
identify- User identificationtrack- Custom eventspage- Page viewsgroup- Group associations
Use Cases:
- Centralize analytics data
- User behavior tracking
- Marketing attribution
- Product analytics
- Customer journey mapping
Mixpanel
Priority: Low-Medium Category: Analytics Complexity: Medium
Why Mixpanel?
- Leading product analytics platform
- Event-based tracking
- Cohort analysis
- Funnel visualization
Data to Sync:
mixpanel_events- Event datamixpanel_users- User profilesmixpanel_cohorts- User segmentsmixpanel_funnels- Funnel definitions
Priority 6: Marketing & Growth
HubSpot
Priority: Medium Category: Marketing Complexity: High
Why HubSpot?
- Complete marketing/sales platform
- CRM integration
- Email marketing
- Lead tracking
Data to Sync:
hubspot_contacts- Contact recordshubspot_companies- Company accountshubspot_deals- Sales pipelinehubspot_tickets- Support ticketshubspot_emails- Email tracking
Key Webhooks:
- Contact events
- Company events
- Deal stage changes
- Ticket updates
- Email engagement
Mailchimp
Priority: Low-Medium Category: Marketing Complexity: Low-Medium
Why Mailchimp?
- Popular email marketing platform
- Newsletter management
- Audience segmentation
- Campaign analytics
Data to Sync:
mailchimp_lists- Audience listsmailchimp_members- Subscribersmailchimp_campaigns- Email campaignsmailchimp_reports- Campaign analytics
Priority 7: Specialized Integrations
Twilio
Priority: Low-Medium Category: Communication Complexity: Medium
Why Twilio?
- SMS and voice communications
- Two-factor authentication
- Notification delivery
- Call tracking
Data to Sync:
twilio_messages- SMS historytwilio_calls- Call logstwilio_webhooks- Event log
Algolia
Priority: Low Category: Search Complexity: Low
Why Algolia?
- Hosted search engine
- Analytics on search queries
- A/B testing for search
- Personalization
Data to Sync:
algolia_indices- Index metadataalgolia_analytics- Search analyticsalgolia_rules- Search rules
Clerk
Priority: Low-Medium Category: Authentication Complexity: Low
Why Clerk?
- Modern auth provider
- User management
- Session tracking
- Organization support
Data to Sync:
clerk_users- User profilesclerk_organizations- Org structureclerk_sessions- Session dataclerk_webhooks- Event log
Implementation Timeline
Phase 1 (v0.4.8) - Complete
- Stripe - v1.0.0 Released
- Shopify - v1.0.0 Released
- GitHub - v1.0.0 Released
Phase 2 (v0.4.9)
- Linear
- Intercom
- Resend
Phase 3 (v0.5.0)
- Plaid
- Notion
- Airtable
Future
- Remaining plugins based on community feedback
Community Requests
Have a plugin you'd like to see? Open an issue on GitHub with:
- Service name
- Use case description
- Key data you'd want synced
- Webhook events you need
Contributing
Want to build a plugin? See Development for the plugin development guide.
Plugin contributions are welcome for:
- New service integrations
- Bug fixes to existing plugins
- Documentation improvements
- Test coverage
Last Updated: January 23, 2026