General plugins (Local) ::: local_webhooks
Maintained by Valentin Popov
Adding WebHook features to the Moodle system.
Latest release:
428 sites
25 fans

Moodle WebHook’s

GitHub Release Build Status Codacy Badge

The Webhooks feature allows applications to receive real-time notification of changes to certain data.

Using Webhooks, your application will be able to receive notifications of changes to selected topics and their fields. Because of this, you do not have to rely on continuous or even periodic requests to check for updates. Notifications about Webhooks updates are sent as POST requests to the callback URL you specified. Notifications can indicate the very fact of a field change or include a new value.


  • Use any number of services for notification;
  • Customizing each external service;
  • Interception of all events in the Moodle system;
  • Use a secret phrase to authenticate requests;
  • JSON - Format of outgoing data;


Screenshot #0
Screenshot #1
Screenshot #2


Valentin Popov (Lead maintainer)
Please login to view contributors details and/or to contact them

Comments RSS

Show comments
  • Wed, Jun 20, 2018, 5:50 AM
    Hi! Thanks for the plugin, we were looking something like this for log time smile
    Do you have some example of how to deal with the parameters of the events when make the post call ?
    I want to know what are the parameters send i by the differents events

    Best Regards.
  • Thu, Jun 21, 2018, 4:11 PM
    Hi, Sebastian!

    Thanks for the feedback, it's very valuable to me.
    The data is sent in JSON format. An example can be found here:

    A full list of properties with a description can be found here:

    The plugin does not affect the available values and fields, only adds additional ones for identification. It:
    * `host` - Hostname;
    * `token` - Secret key to verify the request;
    * `extra` - Additional field in which you are free to add something of their own;
  • Mon, Jun 25, 2018, 8:50 PM
    Great, working perfect!
    One more thing, all this events are not asynchronous right, moodle will always wait for a response of the hook ?

  • Tue, Jun 26, 2018, 1:48 PM
    Yes, the events are not asynchronous.
    I do not have a situation arises where it was a problem.

    I have an idea how to make them asynchronous.
    Tell me, is there a need for this?
  • Fri, Jun 29, 2018, 7:40 PM
    I created an async service in my backend, so now moodle can continue after events are fired.
  • Wed, Oct 31, 2018, 9:35 PM
    I have installed this powerful plugin, sadly when I select trigger events, my selection is never saved. I have an online hosted moodle (latest version), and I have REST services enabled. Do I need to enabled Web Services or any other components to make this work?
  • Wed, Oct 31, 2018, 9:47 PM
    Actually, I just noticed that another person as discovered this show stopper bug? Any hope for a quick fix? We have 17,000 students that will take quizzes in a few weeks, and was banking on this plugin to make it work. See reported issue here https://github.com/valentineus/moodle-webhooks/issues/11
  • Fri, Nov 2, 2018, 7:10 AM
    Hi, Ben Girard!
    Thank you for your comment. Fixed the problem you found.
    Download the new release, everything should work.
  • Fri, Nov 2, 2018, 10:59 AM
    Hi all! The new plugin upgraded just fine now, and the events are being saved! The issue I have now, is the callback URL is never reached. Should the callback URL be encoded or decoded? Are there any instructions to help troubleshoot what I might be missing in my config to have the events triggering the callback?
  • Fri, Nov 2, 2018, 7:46 PM
    Every action of the plugin is written in a journal (Administration > Report > Log). You can see what the remote server answered on the logs page. If the response code is 200, then notifications are sent, problems upstream.
  • Fri, Nov 30, 2018, 1:27 AM
    I'm trying to get this to integrate to our slack (Which is only used by staff members) to notify staff that events have occurred such as submissions and forum posts. Can you suggest a way to get this working?

    I need it to read off as text in a Slack Message. (Ideally)
  • Fri, Nov 22, 2019, 8:42 PM

    I am new to moodle I'm trying to share quiz grades, marks and assignment grade marks along with quiz id, assignment id in webhook, is it possible using this plugin.

    my requirement:
    1. when quiz evaluated for user grade needs to be sent to webhook along with quizid, courseid,userid, and grade and marks assigned.
    2. when Assignment evaluated for user grade needs to be sent to webhook along with assignmentid, courseid,userid, and grade and marks assigned.

    if it is not possible how to customize this plugin.

  • Fri, Jul 31, 2020, 5:48 AM

    It is not possible to relate a course to a service, is it? The events of all courses will be sent to the other side? I am trying to use it with discord but each teacher has its own channel and its own course.

    Thank you.
  • Tue, Aug 18, 2020, 10:26 PM
    It looks like the latest version of this plugin is no longer triggering webhooks... I'm running Moodle 3.7.1 (supported by the plugin) but when updated webhooks are no longer sent. We restarted the entire Moodle server, and no luck.
  • Tue, Mar 16, 2021, 11:27 AM
    is it possible to add the tokens as headers rather than in the request body?
1 2
Please login to post comments