Skip to main content

Frequently Asked Questions

Common questions and answers about webhook monitoring, CLI usage, and integration troubleshooting.

General Questions

What is the difference between webhooks and APIs?

Webhooks are push-based - services send data to you when events happen. APIs are pull-based - you request data from services when you need it.

AspectWebhooksAPIs
DirectionService → YouYou → Service
TimingReal-timeOn-demand
EfficiencyHighLower (polling required)
ControlService decides whenYou decide when

Do I need authentication to use webhook monitoring?

No! Our webhook monitoring service doesn't require authentication for basic functionality. Simply:

  1. Create an endpoint in the dashboard
  2. Get your webhook URL
  3. Start receiving events immediately

How many endpoints can I create?

Limits depend on your plan:

  • Free: 3 endpoints
  • Pro: 25 endpoints
  • Enterprise: Unlimited

Technical Questions

Why am I seeing duplicate webhook events?

Duplicate events can happen because:

  1. Webhook sources retry failed deliveries
  2. Network issues cause multiple sends
  3. Your handler errors trigger resends

Solution: Implement idempotency in your handler:

const processedEvents = new Set();

app.post('/webhooks', (req, res) => {
const eventId = req.body.id;

if (processedEvents.has(eventId)) {
return res.status(200).json({ message: 'Already processed' });
}

processedEvents.add(eventId);
// Process the event...
});

My webhook handler is slow. How can I improve performance?

Quick fixes:

  1. Respond immediately, process asynchronously:
app.post('/webhooks', (req, res) => {
res.status(200).json({ received: true }); // Respond first
processAsync(req.body); // Process later
});
  1. Optimize database queries
  2. Use connection pooling
  3. Implement caching for frequently accessed data

Can I test webhooks without deploying my application?

Yes! Use our CLI tool for local development:

# Install CLI
npm install -g @hookvm/cli

# Forward webhooks to your local server
hookvm listen https://hookvm.com/hooks/your-endpoint-id \
--target http://localhost:3000/webhooks

CLI Questions

The CLI command is not found after installation

Possible solutions:

  1. Check global installation:
npm list -g @hookvm/cli
  1. Add npm global bin to PATH:
export PATH="$(npm config get prefix)/bin:$PATH"
  1. Install with proper permissions:
sudo npm install -g @hookvm/cli

Can I monitor multiple endpoints simultaneously?

Yes! Open multiple terminal windows:

# Terminal 1
hookvm listen https://hookvm.com/hooks/endpoint-1

# Terminal 2
hookvm listen https://hookvm.com/hooks/endpoint-2

How do I save CLI output to a file?

# Save all output
hookvm listen endpoint-url --disable-ui > webhook.log 2>&1

# Background process
nohup hookvm listen endpoint-url --disable-ui >> webhook.log 2>&1 &

Integration Questions

Which webhook sources are supported?

Our service accepts webhooks from any source that can send HTTP POST requests:

  • Payment processors: Stripe, PayPal, Square
  • E-commerce: Shopify, WooCommerce, BigCommerce
  • Development: GitHub, GitLab, Bitbucket
  • Communication: Slack, Discord, Twilio
  • Custom APIs: Any service that sends webhooks

How do I verify webhook signatures?

Different services use different signature methods:

Stripe (SHA-256):

const stripe = require('stripe')();

app.post('/webhooks/stripe', express.raw({type: 'application/json'}), (req, res) => {
const sig = req.headers['stripe-signature'];
const event = stripe.webhooks.constructEvent(req.body, sig, endpointSecret);
// Process verified event...
});

GitHub (SHA-1):

const crypto = require('crypto');

const signature = req.headers['x-hub-signature'];
const expectedSignature = crypto
.createHmac('sha1', process.env.GITHUB_SECRET)
.update(JSON.stringify(req.body))
.digest('hex');

Can I filter which events I receive?

Yes! Configure event filtering in your endpoint settings:

  1. By event type: Only receive specific event types
  2. By content: Filter based on event data
  3. By source: Limit to specific IP ranges

Billing Questions

How does webhook event counting work?

We count:

  • Incoming webhooks - Events received by your endpoints
  • Forwarded events - Events sent to your handlers (CLI forwarding)
  • Test events - Events sent via dashboard testing

We don't count:

  • Failed deliveries that we retry
  • Health check requests
  • Configuration API calls

What happens if I exceed my plan limits?

  • Soft limits: We'll notify you before you exceed limits
  • Hard limits: New events may be queued or rejected
  • Grace period: Usually 7 days to upgrade your plan

Can I upgrade or downgrade my plan anytime?

Yes! Plan changes take effect immediately:

  • Upgrades: Access to new features right away
  • Downgrades: Features removed at next billing cycle

Troubleshooting Questions

Events appear in dashboard but my handler isn't called

Common causes:

  1. Handler URL incorrect - Check endpoint configuration
  2. Local server not running - Start your development server
  3. Wrong HTTP method - Ensure handler accepts POST requests
  4. Network issues - Check firewall and connectivity

The CLI shows "connection failed"

Try these steps:

  1. Check internet connection
  2. Verify endpoint URL is correct
  3. Test with curl:
curl -I https://hookvm.com/hooks/your-endpoint-id
  1. Check firewall settings for WebSocket connections

Getting "too many headers" errors

This is handled automatically in newer CLI versions:

# Update CLI
npm update -g @hookvm/cli

The CLI now filters headers to prevent server limits.

Getting More Help

Documentation

Support Channels

  • Community Forum: Ask questions and share solutions
  • Email Support: For account and billing issues
  • Live Chat: Available during business hours
  • GitHub Issues: Report bugs and request features

Before Contacting Support

  1. Check this FAQ for common solutions
  2. Search the documentation
  3. Try basic troubleshooting (restart, refresh, update)
  4. Gather error messages and logs

When contacting support, include:

  • Exact error messages
  • Steps to reproduce
  • Your environment (OS, browser, CLI version)
  • Endpoint ID or configuration details

Still have questions? Contact our support team or check the troubleshooting guide.