tag::concept[]
GitHub is not just a website; it’s a programmable platform. For Nora, this means she can automate the tedious parts of her job, like notifying her team of updates or generating reports for stakeholders.
tag::procedure[]
A webhook allows GitHub to notify Nora’s other tools whenever something happens in the repository.
For example, Nora sets up a webhook to alert the team’s Slack channel every time a new checkpoint is pushed to the research repo.
1. In the repo Settings, she clicks Webhooks.
2. She adds the URL for the team’s Slack automation.
3. She selects the "Push" event.
Now, whenever Sam pushes his UI updates, the whole team sees it in Slack instantly. No more "Hey, did you push those PNGs yet?" messages.
tag::concept[]
For even more control, Nora uses the GitHub API. This allows her to write small scripts that interact with her repository.
Suppose Nora wants to generate a weekly "Design Decision Report" for her manager. She writes a script that uses the API to fetch all commit messages from the last 7 days that start with [Design:].
$ curl https://api.github.com/repos/sketchspark/ui-design/commits?since=2026-04-01The API returns a JSON list of all the work her team has done, which she can then automatically format into a beautiful PDF.
tag::overview[]
Now you’re a GitHub user. You know how to create an account, manage an organization, use the GitHub Flow for design reviews, and even automate your workflow with webhooks and the API.
In the next chapter, we’ll move back to the terminal and look at some of the most powerful, "expert-level" tools that will truly make you a master of Git.