#Project-Level Stripe Integration

Connect your own Stripe account to automatically track your customers' subscription events and create or move leads in your pipeline.

#Prerequisites

  • A Stripe account with active subscriptions
  • Your Stripe Secret Key (found in Stripe Dashboard under Developers → API Keys)
Security

Your Stripe Secret Key is encrypted at rest and only used server-side to retrieve customer information. It is never exposed to the browser.

#1. Connect Stripe

  1. Go to Project Settings → Integrations → Stripe
  2. Enter your Stripe Secret Key
  3. Click Connect — the system validates the key
  4. Once connected, you'll see revenue analytics and subscription data

#2. Create a Stripe Listener

A listener reacts to subscription events and creates or moves leads.

  1. Click Add Listener
  2. Choose an Event Type:
  • Subscription Created — when a new subscription starts
  • Subscription Updated — when a subscription changes (e.g. plan upgrade)
  • Subscription Canceled — when a subscription is canceled

3. Select a Target Pipeline Stage for matched leads.

4. Save the listener. You'll receive a Webhook URL and a Webhook Secret.

#3. Set Up the Stripe Webhook

In your Stripe Dashboard:

  1. Go to Developers → Webhooks
  2. Click Add endpoint
  3. Configure:
  • Endpoint URL: Paste the Webhook URL from TheVibeCRM
  • Events to send: Select the relevant subscription event: customer.subscription.created, customer.subscription.updated, customer.subscription.deleted
  • Add a custom header: Key: x-webhook-secret, Value: Paste the Webhook Secret from TheVibeCRM
webhook-url — text
https://app.thevibecrm.com/api/webhooks/stripe-integration/{listenerId}

4. Save the endpoint.

#4. How It Works

flow — text
┌──────────────┐    Subscription event   ┌──────────────────┐    Lead matched    ┌─────────────┐
│   Stripe     │ ─────────────────────▶  │   TheVibeCRM     │ ────────────────▶  │  Pipeline   │
│   Account    │    POST webhook with    │   Webhook API    │   By customer      │   Stage     │
│              │    x-webhook-secret     │                  │   email            │             │
└──────────────┘                         └──────────────────┘                    └─────────────┘
  1. A subscription event occurs in Stripe (created, updated, or canceled)
  2. Stripe fires an HTTP POST to the TheVibeCRM webhook endpoint
  3. The webhook secret is verified
  4. Only the event type matching the listener's configuration is processed
  5. The customer's email is resolved from the Stripe subscription
  6. If a lead with that email exists in your project, it is moved to the target stage
  7. If no lead exists, a new lead is created with the customer's email, placed in the target stage with source "Stripe" and recurrence "Recurring"

#Stripe Analytics

Once connected, your project dashboard shows:

  • Monthly Recurring Revenue (MRR)
  • Active subscriptions count
  • Recent charges

#Troubleshooting

IssueSolution
"Invalid webhook secret" (401)Ensure the x-webhook-secret header value matches exactly
"Listener not found or inactive" (404)Verify the listener ID and that it's active
"Stripe key not configured" (500)Re-enter your Stripe Secret Key in integrations
Lead not created / "skipped: no_email"The Stripe customer must have an email address set
Wrong event processedEnsure you selected the correct event type in both the listener and Stripe webhook