General plugins (Local) ::: local_webhooks
Maintained by Valentin Popov
Adding WebHook features to the Moodle system.
Latest release:
581 sites
32 fans
Current versions available: 2

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
  • Ben Girard
    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
  • Valentin Popov
    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.
  • Ben Girard
    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?
  • Valentin Popov
    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.
  • Elliot Fieldhouse-Allen
    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)
  • Zuheb A
    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.

  • Marcelo Schmitt
    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.
  • Ben Girard
    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.
  • Richard Pithouse
    Tue, Mar 16, 2021, 11:27 AM
    is it possible to add the tokens as headers rather than in the request body?
  • Ben Girard
    Fri, Jul 1, 2022, 12:37 PM
    does anyone know if this plugin works with 4.0?
  • Valentin Popov
    Tue, Jul 5, 2022, 1:11 AM
    Hi, Ben Girard! I'll consider supporting a new version of Moodle in the near future.
  • Vitaly Potenko
    Mon, Sep 19, 2022, 1:34 AM
    Hi Valentin, what happens when sending a request with the hook has failed (server didn't respond or whatever)? Is there any retry mechanism in the plugin? Thanks!
  • Valentin Popov
    Mon, Sep 19, 2022, 1:41 AM
    Hi Vitaly! All server's response results are written to the events log. The plugin does not provide for repetition.
  • Giel van Kuijk
    Fri, May 5, 2023, 10:30 PM
    For the use case I have I would like to get more user information then only an ID. preferably an e-mail address and their first and last name. Is that possible in any way?
  • Allie Wrin
    Sat, Dec 2, 2023, 2:40 AM
    Hi Valentin, will you be releasing an updated version of this plugin for Moodle version 4.1.x?
1 2
Please login to post comments