Timpani is a Temporal worker that sends API calls and receives asynchronous event notifications to/from various well-known third-party services.
API calls are wrapped and exposed as Temporal activities for robustness and durable execution in larger workflows.
Event listeners are similarly reliable and scalable, and support multiple technologies: HTTP webhooks, WebSocket connections, and Pub/Sub subscriptions. They may be passive and stateless receivers with a static configuration on the remote service's side, or semi-active subscribers that renew their subscription from time to time, or stateful clients maintaining a 2-way streaming connection with the remote service.
For example:
- Discord: WebSocket client
- Gmail: Google Cloud Pub/Sub subscriber
- Jira: stateful HTTP webhook (with periodic subscription renewals)
- Slack: stateless HTTP webhook / WebSocket client
- Temporal
- Thrippy
- Secrets manager, e.g. HashiCorp Vault