diff --git a/.github/workflows/bookdown.yml b/.github/workflows/bookdown.yml
new file mode 100644
index 0000000..3e98b99
--- /dev/null
+++ b/.github/workflows/bookdown.yml
@@ -0,0 +1,25 @@
+# Workflow derived from https://github.com/r-lib/actions/tree/v2/examples
+# Need help debugging build failures? Start at https://github.com/r-lib/actions#where-to-find-help
+name: Bookdown
+
+on:
+  push:
+  pull_request:
+    branches: [main, master]
+
+jobs:
+  bookdown:
+    runs-on: ubuntu-latest
+    env:
+      GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+    steps:
+      - name: Checkout code
+      - uses: actions/checkout@v4
+
+      - uses: r-lib/actions/setup-r@v2
+        with:
+          use-public-rspm: true
+
+      - name: Render book
+        run: bookdown::render_book(".", quiet = TRUE)
+        shell: Rscript {0}
\ No newline at end of file
diff --git a/README.md b/README.md
index 828a191..079935a 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,7 @@
 # Welcome
 
 [![Super-Lint](https://github.com/NIEHS/PCOR_bookdown_tools/actions/workflows/superlint.yml/badge.svg?branch=mm_workflows)](https://github.com/NIEHS/PCOR_bookdown_tools/actions/workflows/superlint.yml/badge.svg?branch=mm_workflows)
+[![Bookdown](https://github.com/NIEHS/PCOR_bookdown_tools/actions/workflows/bookdown.yml/badge.svg?branch=mm_workflows)](https://github.com/NIEHS/PCOR_bookdown_tools/actions/workflows/bookdown.yml/badge.svg?branch=mm_workflows)
 
 This is a data analysis examples book based on R Markdown and bookdown (<https://github.com/rstudio/bookdown>). The dataset and large files are under ddn: <smb://wine/pcor_climate/Bookdown_tool/>