GitHub Actions is one of the most natural places to use Messageboard. Your CI/CD pipeline already knows what is happening. Messageboard lets you send those updates to a message name, add that name to a dashboard widget, and keep a live status surface your whole team can see.
By the end of this tutorial you will have:
- A Messageboard widget that you add once and then updates automatically on every deploy
- Separate started, succeeded, and failed states
- Full version history for every deploy event
Step 1: Get your API key
Log in to Messageboard, create a token, and store it as a GitHub Actions secret.
Step 2: Add the secret to your repo
In your GitHub repo: Settings, Secrets and variables, Actions, New repository secret.
- Name:
MESSAGEBOARD_API_KEY - Value: your Messageboard API key
Step 3: Add the workflow steps
Open your existing workflow file, for example .github/workflows/deploy.yml, and add Messageboard calls at the key points:
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Notify deploy started
run: |
curl -s -X POST https://msgboard.tech/api/messages \
-H "x-api-key: ${{ secrets.MESSAGEBOARD_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
"id": "deploy-status",
"content": "Deploy started — ${{ github.sha }} by ${{ github.actor }}",
"contentType": "TEXT"
}'
- uses: actions/checkout@v4
- name: Run deploy
run: ./deploy.sh
- name: Notify deploy succeeded
if: success()
run: |
curl -s -X POST https://msgboard.tech/api/messages \
-H "x-api-key: ${{ secrets.MESSAGEBOARD_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
"id": "deploy-status",
"content": "Deploy complete — ${{ github.sha }} at $(date -u +\"%H:%M UTC\")",
"contentType": "TEXT"
}'
- name: Notify deploy failed
if: failure()
run: |
curl -s -X POST https://msgboard.tech/api/messages \
-H "x-api-key: ${{ secrets.MESSAGEBOARD_API_KEY }}" \
-H "Content-Type: application/json" \
-d '{
"id": "deploy-status",
"content": "Deploy failed — ${{ github.sha }}. Check the Actions log.",
"contentType": "TEXT"
}'
Step 4: Add the widget to your dashboard
- Open Messageboard.
- Add a widget for the
deploy-statusmessage name. - Optionally enter edit mode to reposition it.
What you get
Every push to main now sends a new version of the deploy-status message. Your dashboard always shows the latest. You can cycle through versions to see the full deploy history.
Going further
- Use different message names like
api-deploy-statusandfrontend-deploy-statusto track services independently. - Include environment names in the message name for staging and production splits.
- Pair this with the quickstart and the API reference.