PHPackages                             teamup/webhook-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. teamup/webhook-php

ActiveLibrary[API Development](/categories/api)

teamup/webhook-php
==================

Client for receiving and processing Teamup webhook events

v1.0.0(1y ago)01MITPHP

Since Dec 16Pushed 3mo ago6 watchersCompare

[ Source](https://github.com/TeamupCom/webhook-utils-php)[ Packagist](https://packagist.org/packages/teamup/webhook-php)[ RSS](/packages/teamup-webhook-php/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (3)Used By (0)

Teamup Webhook SDK
==================

[](#teamup-webhook-sdk)

This library provides some auxiliary code to receive, validate and process the data sent by Teamup in a webhook call. You can also check our [API Docs](https://apidocs.teamup.com/) for more details related to the API and Webhook itself.

Requirements
------------

[](#requirements)

To create a webhook in your Teamup calendar, start by visiting the calendar page: `Settings` &gt; `Integrations` &gt; `Webhooks` which lists all available webhooks in the current calendar.

Use the `+ New` button to create a new webhook, and fill in the relevant information. The `Endpoint` requries a web-accessible URL, where Teamup will send the webhook payloads by using a `POST` request.

After the webhook configuration is saved, a secret value will be provided in the webhook settings. The secret is used as a shared key to compute a keyed-hash (or [HMAC](https://en.wikipedia.org/wiki/HMAC)) of the webhook payload using the HMAC-SHA256 algorithm. This enables you to validate the data-integrity of the webhook's payload.

Note: for local development you can use tools to route internet traffic to your local development machine, such as:

- [ngrok](https://ngrok.com/docs/agent/overview)
- [LocalTunnel](https://theboroer.github.io/localtunnel-www/)
- [pyjam](https://tunnel.pyjam.as) (experimental)

Installation
------------

[](#installation)

Install the latest version with [Composer](https://getcomposer.org):

```
$ composer require teamup/webhook-php
```

Usage
-----

[](#usage)

This library provides a `Webhook` class to handle the webhook requests and helpers to parse and validate the received payload from Teamup.com.

An example implementation may look like:

```
$webhook = new Webhook(new Parser('my-secret'));

$webhook->registerHandler(Trigger::Any, new MyLogHandler());
$webhook->registerHandler(Trigger::EventCreated, new OnEventCreatedHandler());

$webhook->handle($request);
```

You can also use directly the parser for a simpler approach:

```
$content = file_get_contents('php://input');

$parser = new Parser('my-secret');

// should throw InvalidSignatureException if the secret is incorrect or the data is corrupted
$parser->verifyIntegrity(
    $content,
    getRequestHeader(Header::TeamupSignature->value),
);

// If the integrity is verified, you can parse it or just process the raw payload
$payload = $parser->parse($content);
```

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance63

Regular maintenance activity

Popularity1

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

518d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b69782e1d7f426ef78f61d159c466a536372eff931f13981ac578fa3f4649352?d=identicon)[Seldaek](/maintainers/Seldaek)

---

Top Contributors

[![andreypostal](https://avatars.githubusercontent.com/u/15055086?v=4)](https://github.com/andreypostal "andreypostal (6 commits)")[![thePanz](https://avatars.githubusercontent.com/u/226021?v=4)](https://github.com/thePanz "thePanz (6 commits)")[![gsidler](https://avatars.githubusercontent.com/u/1446066?v=4)](https://github.com/gsidler "gsidler (1 commits)")[![Seldaek](https://avatars.githubusercontent.com/u/183678?v=4)](https://github.com/Seldaek "Seldaek (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/teamup-webhook-php/health.svg)

```
[![Health](https://phpackages.com/badges/teamup-webhook-php/health.svg)](https://phpackages.com/packages/teamup-webhook-php)
```

###  Alternatives

[algolia/algoliasearch-client-php

API powering the features of Algolia.

69333.0M114](/packages/algolia-algoliasearch-client-php)[swisnl/json-api-client

A PHP package for mapping remote JSON:API resources to Eloquent like models and collections.

211473.2k12](/packages/swisnl-json-api-client)[php-heroku-client/php-heroku-client

A PHP client for the Heroku Platform API

24404.8k4](/packages/php-heroku-client-php-heroku-client)[yoti/yoti-php-sdk

Yoti SDK for quickly integrating your PHP backend with Yoti

27539.9k1](/packages/yoti-yoti-php-sdk)[trycourier/courier

Courier PHP SDK

16643.9k](/packages/trycourier-courier)[commercetools/commercetools-sdk

The official PHP SDK for the commercetools Composable Commerce APIs

19281.5k](/packages/commercetools-commercetools-sdk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
