JetBrains Plugin
The Unhook JetBrains plugin brings powerful webhook monitoring and debugging capabilities to all JetBrains IDEs, including IntelliJ IDEA, WebStorm, PyCharm, and more.
Overview
The JetBrains plugin provides:
Real-time webhook event monitoring within your IDE
Webhook payload inspection and debugging
Event replay functionality for testing
Team collaboration features
Seamless integration with your development workflow
Supported IDEs
The Unhook plugin works with all JetBrains IDEs:
IntelliJ IDEA Ultimate and Community editions
WebStorm JavaScript and TypeScript development
PyCharm Python development (Professional and Community)
Installation
From JetBrains Marketplace
Open your JetBrains IDE
Go to Settings/Preferences (Ctrl+Alt+S / Cmd+,)
Navigate to Plugins
Search for “Unhook”
Click Install
From Plugin Repository
Download the plugin from JetBrains Plugin Repository
Install from disk in your IDE’s plugin settings
Restart your IDE
Quick Start
Sign in to Unhook :
Open the Unhook tool window (View → Tool Windows → Unhook)
Click “Sign In” and follow the authentication flow
View webhook events :
The Unhook tool window shows real-time webhook events
Events are automatically updated as they arrive
Inspect and replay events :
Click on any event to view detailed information
Use the “Replay” button to resend webhooks to your local server
Features
Real-time Webhook Monitoring
Monitor webhook events directly in your IDE:
Live Event Feed See webhook events as they arrive from providers
Event Details Inspect headers, payloads, and response data
Status Tracking Track success/failure status and response times
Provider Filtering Filter events by provider (Stripe, GitHub, Clerk, etc.)
Webhook Event Inspection
Dive deep into webhook data with comprehensive inspection tools:
{
"event" : {
"id" : "evt_1234567890" ,
"provider" : "stripe" ,
"type" : "payment_intent.succeeded" ,
"timestamp" : "2024-01-15T10:30:00.000Z" ,
"status" : "success"
},
"request" : {
"method" : "POST" ,
"url" : "https://unhook.sh/wh_stripe_prod" ,
"headers" : {
"content-type" : "application/json" ,
"stripe-signature" : "..."
},
"body" : {
"id" : "pi_123" ,
"object" : "payment_intent" ,
"amount" : 1000 ,
"currency" : "usd"
}
},
"response" : {
"status" : 200 ,
"headers" : { ... },
"body" : { ... },
"duration" : 245
}
}
Event Replay
Test your webhook handlers by replaying events:
Select an event from the event list
Click “Replay Event” button
Monitor the response in real-time
Debug any issues with your webhook handler
Team Collaboration
Work seamlessly with your team on webhook development:
Shared webhook URLs : Use the same webhook URL across your team
Real-time updates : See when team members are active
Event sharing : Share specific events with team members for debugging
Configuration
Project Configuration
Create an unhook.yaml
file in your project root:
webhookId : "wh_your_webhook_id"
server :
apiUrl : "https://app.unhook.sh"
destination :
- name : "local"
url : "http://localhost:3000/api/webhooks"
delivery :
- destination : "local"
Plugin Settings
Configure the plugin through IDE settings:
Open Settings/Preferences (Ctrl+Alt+S / Cmd+,)
Navigate to Tools → Unhook
Configure settings :
Auto-refresh interval
Notification preferences
Default webhook ID
API endpoint
Environment Variables
Set configuration via environment variables:
# API configuration
NEXT_PUBLIC_API_URL = https://app.unhook.sh
NEXT_PUBLIC_WEBHOOK_BASE_URL = https://unhook.sh
# Authentication
UNHOOK_API_KEY = your_api_key
Usage Guide
View → Tool Windows → Unhook
Or use the Unhook icon in the tool window bar
The tool window appears at the bottom of your IDE
Viewing Webhook Events
Open the Unhook tool window
Browse events in the event list
Click on an event to view details
Use filters to find specific events
Inspecting Event Details
When you click on a webhook event, you’ll see:
Event Information
Event ID, provider, type, and timestamp
Success/failure status and response time
Request Details
HTTP method and URL
Headers and request body
Provider-specific metadata
Response Information
HTTP status code
Response headers and body
Processing duration
Replaying Events
Select an event from the event list
Click “Replay Event” in the event details
Monitor the replay in real-time
Check your application logs for the replayed event
Debugging Failed Events
When webhooks fail, the plugin helps you debug:
Look at the HTTP status code returned by your endpoint
Check the response body for error details
Use the replay feature to test your endpoint with the same payload
Integration Examples
Stripe Webhooks
# unhook.yaml
webhookId : "wh_stripe_prod"
destination :
- name : "stripe-handler"
url : "http://localhost:3000/api/webhooks/stripe"
delivery :
- destination : "stripe-handler"
Monitor Stripe payment events in real-time and replay them for testing.
GitHub Webhooks
# unhook.yaml
webhookId : "wh_github_repo"
destination :
- name : "github-handler"
url : "http://localhost:3000/api/webhooks/github"
delivery :
- destination : "github-handler"
Track repository events like pushes, pull requests, and issues.
Clerk Authentication
# unhook.yaml
webhookId : "wh_clerk_auth"
destination :
- name : "auth-handler"
url : "http://localhost:3000/api/webhooks/clerk"
delivery :
- destination : "auth-handler"
Monitor user authentication events and session changes.
Advanced Features
Custom Event Filtering
Filter events by various criteria:
Provider : Filter by Stripe, GitHub, Clerk, etc.
Status : Show only successful or failed events
Time range : Filter by recent events
Event type : Filter by specific event types
Event Export
Export webhook events for analysis:
Select events in the event list
Right-click and choose “Export Events”
Choose format (JSON, CSV)
Download the exported file
Track webhook performance metrics:
Response times : Monitor how fast your endpoints respond
Success rates : Track webhook delivery success
Error patterns : Identify common failure causes
IDE Integration
The plugin integrates seamlessly with your IDE:
Project-aware : Automatically detects project configuration
Run configurations : Create run configurations for webhook testing
Debug integration : Use IDE debugger with webhook replay
Version control : Track webhook configuration changes
Troubleshooting
Common Issues
Restart your IDE
Check if the plugin is properly installed
Verify you’re signed in to Unhook
Verify your webhook is active
Check your webhook URL is correctly configured
Ensure you have the correct permissions
Sign out and sign back in
Check your internet connection
Verify your Unhook account is active
Check your local server is running
Verify the endpoint URL is correct
Check your server logs for errors
Debug Mode
Enable debug mode for detailed logging:
Open Settings/Preferences (Ctrl+Alt+S / Cmd+,)
Navigate to Tools → Unhook
Enable “Debug Mode”
Check the IDE log for plugin messages
Plugin Logs
View plugin logs for troubleshooting:
Help → Diagnostic Tools → Debug Log Settings
Add “com.unhook” to the loggers
Restart your IDE
Check the log file for detailed information
Best Practices
Keep the tool window open : Monitor webhooks while coding
Use event replay : Test your handlers with real data
Filter events : Focus on relevant events for your development
Export for analysis : Save important events for later review
Collaborate with team : Share events for debugging sessions
Use project configuration : Keep webhook settings in version control
Keyboard Shortcuts
Action Windows/Linux macOS Open Unhook tool window Alt+U
Cmd+U
Refresh events Ctrl+R
Cmd+R
Replay selected event Ctrl+Shift+R
Cmd+Shift+R
Export events Ctrl+Shift+E
Cmd+Shift+E
IDE-Specific Features
IntelliJ IDEA
Run configurations : Create webhook testing run configurations
Debug integration : Use the debugger with webhook replay
Project structure : Organize webhook configurations in project structure
WebStorm
JavaScript debugging : Debug webhook handlers with full JavaScript support
TypeScript support : Full TypeScript integration for webhook development
Node.js integration : Seamless Node.js debugging
PyCharm
Python debugging : Debug Python webhook handlers
Django/Flask integration : Framework-specific webhook support
Virtual environment : Use project virtual environments
Next Steps
Responses are generated using AI and may contain mistakes.