View markdown source on GitHub

Galaxy Webhooks




last_modification Published: Apr 3, 2017
last_modification Last Updated: Jul 9, 2021

What are Galaxy Webhooks?

A system which can be used to attach new functionalities to predefined entry points in the Galaxy interface.

An accessible way to make isolated customisations to a Galaxy instance.

Entry point: masthead

A person shaped icon in the Galaxy masthead is being hovered over and the popup reads "Show Username", presumably a custom webhook from a tutorial.

Adds item to the top menu.

Entry point: tool/workflow submission

Screenshot of Galaxy with the job completion screen shown and a PhD comic image shown below.

Shown after tool or workflow execution.

Entry point: tool-menu

Adds an entry to the tool form menu.

Entry point: history-menu

A section of the history menu is labelled Webhooks and shows a custom menu entry.

Adds an entry to the history menu.

What is a webhook made of?

Example configuration YAML

<span id="trans_object
type:"><i class="fas fa-link" aria-hidden="true"></i> trans_object
  - masthead
activate: true

icon: fa-user
tooltip: Show Username

function: >
  $.getJSON("/api/webhooks/trans_object/get_data", function(data) {
    alert('Username: ' + data.username);

Definition of the configuration options

Argument Description
name Name of the Webhook (and API call)
type Entry point. tool/workflow/masthead/history-menu. More might be available in future
activate (De-)Activates the Webhook. true/false
icon Icon to show for a masthead plugin. Full list of available icons here
tooltip Tooltip to show for masthead plugins
function JavaScript code to run when masthead button is clicked


def main(trans, webhook):
    if trans.user:
        user = trans.user.username
        user = 'No user is logged in.'
    return {'username': user}

The return value can be read with a call to /api/webhooks/WEBHOOK_NAME/get_data

Want to integrate Webhooks in your Galaxy instance?

Want to contribute?

Developing the Webhooks implementation

Key Points

Thank you!

This material is the result of a collaborative work. Thanks to the Galaxy Training Network and all the contributors! Galaxy Training Network Tutorial Content is licensed under Creative Commons Attribution 4.0 International License.