diff --git a/docs/ci/hidden-jobs/index.rst b/docs/ci/hidden-jobs/index.rst
index 5267997c717c10af37318da7b1c118fe8faaa435..9248b2d53486b0eb2cb25008610321803e40d064 100644
--- a/docs/ci/hidden-jobs/index.rst
+++ b/docs/ci/hidden-jobs/index.rst
@@ -29,3 +29,4 @@ implementation details.
    lava-test
    lava-report
    aggregate-docs
+   publish-rauc-bundle-to-hawkbit
diff --git a/docs/ci/hidden-jobs/publish-rauc-bundle-to-hawkbit.rst b/docs/ci/hidden-jobs/publish-rauc-bundle-to-hawkbit.rst
new file mode 100644
index 0000000000000000000000000000000000000000..f359ed42e596cf2d165105c1bc5d399b51ab7bd4
--- /dev/null
+++ b/docs/ci/hidden-jobs/publish-rauc-bundle-to-hawkbit.rst
@@ -0,0 +1,36 @@
+.. SPDX-FileCopyrightText: Huawei Inc.
+..
+.. SPDX-License-Identifier: CC-BY-4.0
+
+===============================
+.publish-rauc-bundle-to-hawkbit
+===============================
+
+The `.publish-rauc-bundle-to-hawkbit` job uses `hawkbitctl` to publish a
+pre-build bundle to a HawkBit instance. The bundle is uploaded as an *artifact*
+to a new *software module*, which is then used to create a new *distribution
+set*.
+
+Usage Guide
+===========
+
+The `.publish-rauc-bundle-to-hawkbit` job should be paired with the
+:doc:`build-rauc-bundle` job using the `needs: ...` and `dependencies: ...`
+keywords, so that the bundle file is transferred as an artifact between the two
+jobs, and no other artifacts are needlessly copied.
+
+The following variables should be set in the job definition:
+
+ - `CI_ONIRO_HAWKBIT_SWMOD_NAME` is the name of the software module to create.
+ - `CI_ONIRO_HAWKBIT_DS_NAME` is the name of the distribution set to create.
+ - `CI_ONIRO_RAUC_BUNDLE` is the name of the Yocto recipe responsible for the bundle.
+ - `MACHINE` is the Yocto machine variable.
+
+Note that the job relies on the presence of two artifact files: the bundle
+itself, which contains a timestamp-based version string, and the symbolic link
+pointing to it. The job that builds the bundle handles this automatically but
+custom jobs may need additional logic to preserve both files.
+
+The job will run automatically for tags, scheduled pipelines and for merge
+requests. Branch pipelines are excluded to avoid publishing extensive number of
+artifacts.