diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b0d9c7bb514eab7a958a518bd04a356996cad0d3..191c5809ff5fe7656d426cf744fbeb5d11125c31 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,8 +1,10 @@
 variables:
   DATA_CONUS_2018A: conus-2018a
   DATA_URL: ${S3_BUCKET}/nshmp_2018a_v1.1-CONUS-hazards-with-preliminary-PGV-fv0.3-1x1.nc
+  IMAGE_NAME: ${CODE_REGISTRY_IMAGE}/${CI_PROJECT_NAME}:${ENVIRONMENT}-${CI_COMMIT_SHORT_SHA}
   # TODO: Remove hard coded url
   S3_BUCKET: https://nshmp-netcdf-lp-development-rbucket-1of3d1x45yfd9.s3-us-west-2.amazonaws.com
+  UPSTREAM_PATH: ghsc/nshmp/nshmp-netcdf
 
 
 # Do not run for merge requests
@@ -20,6 +22,7 @@ stages:
   - init
   - build
   - deploy
+  - trigger
 
 ####
 # Template: Common Gradle test
@@ -31,7 +34,6 @@ stages:
   tags:
     - development
 
-
 .templates:
   adjust-ref: &adjust-ref |
     if [[ \
@@ -105,7 +107,6 @@ Build Image 2018:
       FROM_IMAGE=${DEVOPS_REGISTRY}usgs/java:11
       ci_job_token=${CI_JOB_TOKEN}
       netcdf_file=DATA/data.nc
-    UPSTREAM_PATH: ghsc/nshmp/nshmp-netcdf
 
 Build Project:
   extends:
@@ -134,6 +135,8 @@ Unit Tests:
   coverage: '/Total.*?([0-9]{1,3})%/'
   extends:
     - .gradle
+  needs:
+    - Init
   rules:
     -
       changes:
@@ -153,6 +156,8 @@ Unit Tests:
 Markdown Lint:
   extends:
     - .gradle
+  needs:
+    - Init
   rules:
     -
       changes:
@@ -169,6 +174,8 @@ Markdown Lint:
 YAML Lint:
   extends:
     - .gradle
+  needs:
+    - Init
   rules:
     -
       changes:
@@ -190,9 +197,47 @@ Staging 01:
     - .deploy
     - .onprem-staging
     - .staging01
+  needs:
+    - Build Image 2018
+    - Build Project
+    - Init
+    - Markdown Lint
+    - Unit Tests
+    - YAML Lint
 
 # Staging 02:
 #   extends:
 #     - .deploy
 #     - .onprem-staging
 #     - .staging02
+
+####
+# Stage: trigger
+####
+
+Trigger nshmp-webapps:
+  needs:
+    - Build Image
+  rules:
+    -
+      if: !reference [.development-env, if]
+      variables: !reference [.development-env, variables]
+      when: manual
+    - !reference [.staging-env]
+    - !reference [.production-env]
+  parallel:
+    matrix:
+      - REGION: us-west-2
+  script:
+    - apk add curl
+    - |
+      curl --request POST \
+        --form token=${IAC_TRIGGER_TOKEN} \
+        --form ref=main \
+        --form description="Triggered by nshmp-netcdf" \
+        --form "variables[CDK_DEPLOY_REGION]=${REGION}" \
+        --form "variables[ENVIRONMENT]=${ENVIRONMENT}" \
+        --form "variables[IMAGE]=${IMAGE_NAME}" \
+        --form "variables[STACK_NAME]=nshmp-netcdf-conus-2018a" \
+        "https://code.chs.usgs.gov/api/v4/projects/${IAC_PROJECT_ID}/trigger/pipeline"
+  stage: trigger