Terms of Service
1. Acceptance
By installing DevOps Connector ("the Service") into a Microsoft 365 tenant, or by using any administrative or webhook endpoint of the Service, you ("Customer") agree to these Terms. If you are agreeing on behalf of an organization, you represent that you have authority to bind that organization, and "you" refers both to you individually and to that organization.
If you do not agree, do not install or use the Service.
2. What the Service does
The Service receives webhook events from continuous-integration platforms (such as Jenkins, GitHub Actions, GitLab CI, Azure Pipelines, Buildkite, CircleCI, and Bitbucket Pipelines), normalizes them into a common event model, and posts adaptive cards to one or more Microsoft Teams channels using Microsoft Teams Workflows incoming webhooks or the Microsoft Bot Framework.
The Service includes an administrative web UI, an HTTP management API, and an optional billing integration for paid plans.
3. Your responsibilities
You agree:
- To configure only Teams channels that you are authorized to post to.
- To respect Microsoft's terms for Teams, Entra ID, and Bot Framework.
- Not to use the Service to deliver content that is unlawful, harassing, defamatory, infringing, or that violates applicable export-control or sanctions law.
- Not to attempt to bypass authentication, rate limits, or per-tenant isolation.
- Not to reverse-engineer, decompile, or extract source code from the Service except to the extent applicable law forbids that restriction.
- Not to use the Service to deliver spam, mass marketing, or unsolicited notifications to users who have not consented to receive them.
- To keep your administrative credentials secure and notify us promptly of any suspected compromise.
We may suspend or terminate access without notice for any breach of this section.
4. Acceptable use limits
We enforce per-organization rate limits (default: 60 events per minute) to protect the shared Service. Sustained traffic beyond your plan's limit may be throttled or refused. Burst traffic that triggers our abuse detection may cause temporary suspension while we investigate.
5. Data
How we handle your data is described in the Privacy Policy. The Privacy Policy is incorporated into these Terms by reference.
You retain all rights in the data you transmit through the Service. You grant us a limited, non-exclusive licence to process that data solely to operate the Service on your behalf as described in the Privacy Policy.
6. Billing (paid plans only)
If you subscribe to a paid plan:
- Pricing and billing cadence are as displayed in the admin UI billing page at the time you subscribe.
- Payments are processed by Stripe, Inc. under Stripe's terms; we do not store payment instruments.
- Subscriptions renew automatically until cancelled.
- You may cancel at any time from the customer portal linked in the admin UI. Cancellation takes effect at the end of the current billing period; we do not pro-rate refunds for partial periods unless required by law.
- We may change pricing on 30 days' notice. Continued use after a price change constitutes acceptance.
- Late or failed payments may result in feature downgrade or suspension after a reasonable grace period.
If billing is not enabled in your installation, this section does not apply.
7. Service level
We aim to operate the Service with reasonable availability but do not guarantee any specific uptime, throughput, or latency. The Service is provided "as is" and "as available", without warranties of any kind, whether express, implied, or statutory, including warranties of merchantability, fitness for a particular purpose, non-infringement, or uninterrupted operation.
For status updates and known incidents, see https://permylastwebhook.com.
8. Beta and preview features
Features marked "beta", "preview", or "experimental" in the admin UI are provided for evaluation and may be changed or removed at any time. Beta features are not covered by any availability target.
9. Limitation of liability
To the maximum extent permitted by law:
- Per My Last Webhook, LLC will not be liable for any indirect, incidental, special, consequential, or punitive damages, or for any loss of profits, revenue, data, or goodwill, arising out of or relating to the Service, even if advised of the possibility of such damages.
- Our total aggregate liability arising out of or relating to the Service, regardless of theory of liability, will not exceed the greater of (a) the amounts you paid us for the Service in the 12 months before the event giving rise to the claim, or (b) USD $100.
Some jurisdictions do not allow the exclusion or limitation of certain damages; in those jurisdictions our liability is limited to the maximum extent permitted by law.
10. Indemnification
You will indemnify, defend, and hold harmless Per My Last Webhook, LLC from and against any third-party claim arising out of (a) your breach of these Terms, (b) your use of the Service in violation of applicable law, or (c) data you transmit through the Service that infringes a third party's rights.
11. Termination
- By you: uninstall the Service from your Microsoft 365 tenant. Uninstall takes effect immediately.
- By us: we may suspend or terminate your access if you breach these Terms or if continued provision becomes commercially or legally unreasonable. We will provide at least 30 days' notice for non-breach termination.
On termination, the rights granted to you under these Terms cease. The Privacy Policy continues to govern data retention and deletion.
12. Changes
We may update these Terms when our practices or the law change. The Effective date above reflects the most recent revision. Material changes will be announced in the admin UI at least 30 days before they take effect. Continued use after the effective date of an update constitutes acceptance.
13. Governing law and disputes
These Terms are governed by the laws of the State of Delaware, USA, without regard to its conflict-of-laws rules. The exclusive venue for any dispute is the competent courts of Wilmington, Delaware, except that either party may seek injunctive relief in any court of competent jurisdiction.
If you are a consumer in a jurisdiction that grants you mandatory rights to your local courts or governing law, those mandatory rights are not affected.
14. Miscellaneous
- These Terms, together with the Privacy Policy, constitute the entire agreement between you and Per My Last Webhook, LLC regarding the Service and supersede any prior agreements.
- If any provision of these Terms is held unenforceable, the remaining provisions remain in force.
- Failure to enforce any provision is not a waiver of it.
- You may not assign these Terms without our written consent; we may assign them to an affiliate or to a successor in connection with a merger, acquisition, or sale of assets.
- Notices to us: hello@permylastwebhook.com. Notices to you: the admin email associated with your tenant's installation.
15. Contact
Per My Last Webhook, LLC
REPLACE-ME — your registered business address
hello@permylastwebhook.com