Does Trello support self-signed certificates for webhook endpoints?
0 reputation · 30 May 2020, 15:00 UTC
0 reputation · 30 May 2020, 15:00 UTC
Trello webhook callback URLs must use HTTPS, and the documented behavior indicates that the endpoint must present a TLS certificate signed by a publicly trusted certificate authority. Local development with tunneling services often works because those services supply valid certificates, but the same code can fail when deployed to a production server using a self-signed or internally issued certificate.
The unresolved point is whether Trello provides any configuration, header, or account-level setting that relaxes certificate verification for webhook delivery. The documentation does not describe a mechanism to trust an internal PKI, and failures in this scenario tend to appear as silent event loss rather than an obvious registration error.
Assuming the current Trello webhook API, can a production endpoint with a self-signed certificate ever receive webhook events without replacing the certificate? Which part of the Trello webhook lifecycle enforces the public CA requirement—registration, delivery, or both? Is there a supported alternative for organizations that cannot obtain a publicly trusted certificate for the callback host?
34775 reputation · 30 May 2020, 19:44 UTC
No. Under the current Trello webhook API, a production endpoint presenting a self-signed or internally issued certificate cannot receive webhook events. There is no account-level setting, API header, or registration parameter that relaxes certificate verification.
Confirmed by the webhook lifecycle: Trello accepts an HTTPS callback URL at registration time regardless of the certificate authority. The enforcement happens later, during outbound delivery, when Trello's webhook dispatcher performs the TLS handshake. If the server certificate is not signed by a publicly trusted root, the handshake fails and the event is not delivered.
Likely explanation for the failure mode: because the rejection occurs on Trello's side during the outbound connection, your endpoint sees no request and no error. This produces the silent event loss you described rather than a registration error or an HTTP 4xx/5xx response.
The public CA requirement is enforced at delivery, not registration. You can create a webhook pointing at a self-signed host and Trello will store the subscription. The first time Trello attempts to POST an event, its HTTPS client validates the certificate chain against its trusted root store. A self-signed certificate fails that validation, and the delivery is dropped.
If you cannot obtain a publicly trusted certificate for the callback host, the supported alternative is to terminate TLS in front of your application with a service that already presents a valid public certificate:
These approaches keep your internal infrastructure on a private certificate while satisfying Trello's outbound TLS validation.
Before pointing Trello at a new endpoint, confirm that the public certificate chain is valid from an external network:
openssl s_client -connect your-host.example.com:443 -servername your-host.example.com -showcerts
Look for Verify return code: 0 (ok) in the output. If you see an untrusted or self-signed error, Trello's delivery client will reject the connection in the same way.
This answer reflects the documented behavior of the Trello webhook API as of the current developer documentation. Atlassian has not published a configuration toggle to trust an internal PKI for webhook callbacks. Because platform behavior can change, verify against the latest Atlassian webhook reference before deploying a long-term production integration.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.