Piano proxy
Use one Piano webhook URL while CoEditor—and your other tools—still receive events.
The problem Piano creates
Many Piano setups allow only one webhook URL for a site or application. That is awkward when:
- You already pointed Piano at another system before adopting CoEditor
- You need CoEditor and a legacy script, data warehouse, or partner integration to hear the same events
- You want to add Stripe-style flexibility but Piano will not accept a second native endpoint
What the CoEditor Piano Proxy does
The Piano Proxy is a CoEditor-managed URL you paste into Piano as your single webhook destination.
When Piano sends an event:
- Traffic hits the proxy URL you generated in publication Settings
- CoEditor decrypts and validates the payload (using your publication’s Piano private key)
- CoEditor processes what your publication is configured to sync into CRM
- When configured, CoEditor can forward the same event to another HTTPS endpoint you already rely on—so existing automations keep working while CRM gets a copy
You get one URL in Piano and more than one downstream consumer in practice.
How to set it up
- Open publication Settings.
- Under Piano Proxy, click Generate Piano Proxy Webhook.
- Copy the proxy URL.
- In Piano’s admin UI, replace (or set) the webhook / notification URL to that proxy address.
- Enable the broadest event set Piano allows on that webhook.
- Return to CRM Settings, complete Piano credentials, then Generate Base Webhook in the Piano section.
Order matters: proxy first, then base webhook. Skipping the proxy step means Piano events may never reach CoEditor’s sync pipeline correctly.
Stripe users: this is different
Stripe connects directly to CoEditor’s managed connector URL. You do not use the Piano Proxy for Stripe—only for Piano.
| Provider | URL you configure in the provider’s UI |
|---|---|
| Stripe | Managed automatically when you click Generate Base Webhook (no Piano-style proxy) |
| Piano | Piano Proxy URL from CRM Settings |
Practical tips
- Keep the proxy URL stable. If you regenerate it, update Piano immediately or events will stop arriving.
- Do not point Piano at the Stripe connector URL by mistake—the paths are different by design.
- If you need a second consumer beyond CRM, ask your CoEditor contact how forwarding is enabled for your publication before changing Piano’s URL again.
Related pages
- Set up webhooks — full Stripe and Piano checklist
- Webhooks FAQ — when Piano traffic arrives but CRM rows do not update