On September 1, 2022, GitHub Learning Lab will shut down.
Read more on the GitHub blog and check out GitHub Skills for courses backed by GitHub Actions.
See an up-to-date option for this page.

Getting started with GitHub Apps

Add your own GitHub feature, automate workflows, and more with GitHub Apps.

Start free course Join 5266 others!

social preview

Meet GitHub Apps — the best way to extend your GitHub workflow. Automate repetitive tasks to save you time (and headspace) and reduce friction in your project.

This course guides you through the steps to install and trigger GitHub Apps, utilize webhooks, and leverage the GitHub's APIs.

What you'll learn

We'll answer common questions like:

  • What are GitHub Apps and how are they structured?
  • How do GitHub Apps fit into the software development lifecycle (SDLC) and the greater ecosystem?
  • How do you use the GitHub APIs?
  • What are webhooks and how are they used?

And when you're done you'll be able to:

  • Install Probot apps onto your repository
  • Put GitHub webhooks to use
  • Utilize GitHub's APIs
  • Install GitHub Apps and work with them

What you'll build

In this course, we'll be integrating several GitHub Apps, introducing the GitHub APIs, and learning how to utilize webhooks:



We recommend taking Introduction to GitHub prior to this course.

Projects used

This course makes use of the leereilly/games repository. Consider exploring this repo and maybe even making contributions!


Developers, new GitHub users, users new to Git, students, teams

Steps to complete this course 10
  1. Install your first GitHub Apps

    Learn what GitHub Apps are and how to install them

  2. Trigger the WIP app

    Once installed, learn how to interact with the app

  3. Add a webhook

    Add a smee.io URL to your repository's webhooks

  4. Remove WIP from the title

    Interact with the WIP app by removing WIP from the title

  5. Determine which event triggered the WIP app

    Examine the smee.io URL and determine which event name caused the app to respond

  6. Merge the first pull request

    Merge the first pull request of the course

  7. Open a pull request

    Open a pull request to learn about the Request Info app

  8. Customize the response of the Request Info app

    Learn how to customize the app's default behavior

  9. Identify API endpoints

    Learn how to identify API endpoints

  10. Open a blank issue

    Open a blank issue to see your config changes take effect

GitHub Apps
Share this course
Average time to complete

37 minutes


All public courses on Learning Lab are free.

Latest release

Learning Paths that include this course

Users who took this course also took

What is GitHub Learning Lab?

Learn new skills by completing fun, realistic projects in your very own GitHub repository.

Ready to start learning?

Start Getting started with GitHub Apps