Warning: Changes made here affect low-level platform behavior and can disrupt service if misconfigured. Only make changes if you understand their impact, and always use the regular Mividas Meeting Portal interface when the same setting is available there.

Configure webhooks to notify external systems of events in the Mividas Meeting Portal, e.g., when a user signs in or a meeting is scheduled, modified, or canceled. Webhooks can also be used to send SMS messages through your own SMS gateway.

OptionDescription
Add webhook +Add a new webhook.

List view

ColumnDescription
TitleThe descriptive name of the webhook.
EnabledShows if the webhook is enabled.
UrlThe address to which the events are sent.

Add or edit a webhook

FieldDescription
TitleA descriptive name, e.g., the name of the receiving system.
EnabledWhen unchecked, no events are sent to this webhook.
UrlThe address to which the events are sent. Use an https:// address.
SecretThe key used to sign the events. See Verify the signature. A random secret is generated automatically. The secret is stored encrypted.
User eventsSend the events user.login and user.delegate.
Meeting eventsSend the events meeting.book, meeting.rebook and meeting.unbook.
Sms eventsUsed only when SMS provider is set as webhook in the Installer. Send the event sms.invite.
Other eventsSend other types of events.
Ts last errorWhen the latest delivery error occurred. For a new webhook, this is set to the webhook’s creation time.
Ts last successWhen the last event was successfully delivered.
Last errorThe error message of the latest failed delivery.
Error countThe number of failed deliveries since the last successful one.

Events

EventDescription
user.loginA user signed in. The event includes is_first_login, which is true the first time the user signs in.
user.delegateA user started managing meetings on behalf of another user.
meeting.bookA meeting was scheduled.
meeting.rebookA meeting was changed.
meeting.unbookA meeting was canceled.
sms.inviteAn SMS invitation to a secure meeting should be sent. The receiving system sends the SMS.

Request format

Each event is sent as an HTTP POST request with a JSON body. Example of an meeting.book event:

{
 "event": "meeting.book",
 "created": "2026-10-05T07:30:00+00:00",
 "user": {
  "username": "[email protected]",
  "email": "[email protected]",
  "video_username": "[email protected]",
  "ldap_dn": "CN=Sven Svensson,OU=Users,DC=example,DC=com"
 },
 "delegate": null,
 "site": {
  "domain": "portal.example.com"
 },
 "meeting": {
  "id": 1234,
  "title": "Project meeting",
  "public_title": "Project meeting",
  "type": 0,
  "type_api_name": "meeting",
  "ts_start": "2026-10-06T08:00:00+00:00",
  "ts_stop": "2026-10-06T09:00:00+00:00",
  "recurring_rule": null,
  "api_id": "…",
  "source": "",
  "sip_uri": "…",
  "moderator_sip_uri": "…"
 }
}
KeyDescription
eventThe name of the event.
createdWhen the event happened.
userThe user the event concerns. For meeting events, this is the meeting organizer.
delegateThe user who acted on behalf of user, e.g., through a delegation. null if the user acted for themselves.
siteThe domain of the portal that sent the event.
meetingMeeting events and SMS events: information about the meeting.
recipient, message, senderSMS events only: the mobile number in international format without +, the text of the SMS, and the sender name.

The request includes these headers:

HeaderDescription
X-Mividas-SignatureAn HMAC-SHA256 signature of the request body in hexadecimal format, created with the webhook’s secret.
X-Mividas-WebhookThe ID of the webhook.
X-Mividas-Delivery-TryThe delivery attempt, starting at 1.

Verify the signature

To ensure an event comes from the Mividas Meeting Portal, calculate the HMAC-SHA-256 of the raw request body using the webhook’s secret. Then compare the result with the X-Mividas-Signature header. Example in Python:

import hashlib
import hmac


def is_valid_signature(body: bytes, signature: str, secret: str) -> bool:
    expected = hmac.new(secret.encode('utf-8'), body, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, signature)

Delivery and errors

  • The receiving system must respond with HTTP status 200 within 10 seconds. Any other response counts as an error.
  • A failed event is resent up to 5 times after about 1, 2, 4, 8, and 16 minutes. SMS events are sent directly and are not retried.
  • After 50 consecutive failed deliveries, the webhook is paused. Events that occur during the pause are not delivered. The webhook is retried after an hour has passed since the last error.
  • Error count is reset when an event is delivered successfully or when you change the URL.
On This Page
    © Mividas Video Solutions AB 2026