diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md
index 315d8fe7a89413f2032e3dc814d534b9595731da..87c56cbc7ba744fa6d7b5db5da03017144189493 100644
--- a/docs/usage/configuration-options.md
+++ b/docs/usage/configuration-options.md
@@ -255,6 +255,10 @@ Note: Enabling Dependency Dashboard Approval implicitly enables `dependencyDashb
 
 You can configure this to `true` if you prefer Renovate to close an existing Dependency Dashboard whenever there are no outstanding PRs left.
 
+## dependencyDashboardFooter
+
+## dependencyDashboardHeader
+
 ## dependencyDashboardTitle
 
 Configure this option if you prefer a different title for the Dependency Dashboard.
diff --git a/lib/config/common.ts b/lib/config/common.ts
index cc7d542348ea3bfc484a0fd776373407564e0ff4..09dbd57c3787b89c451a8db46c5b05e417dc557f 100644
--- a/lib/config/common.ts
+++ b/lib/config/common.ts
@@ -157,6 +157,8 @@ export interface RenovateConfig
   dependencyDashboardChecks?: Record<string, string>;
   dependencyDashboardRebaseAllOpen?: boolean;
   dependencyDashboardTitle?: string;
+  dependencyDashboardHeader?: string;
+  dependencyDashboardFooter?: string;
   packageFile?: string;
   packageRules?: PackageRule[];
   prConcurrentLimit?: number;
diff --git a/lib/config/definitions.ts b/lib/config/definitions.ts
index 974515f4741a9b93104f7222699b7196e64b5486..687a38c0459aa7b396c7135698d830bf8341df54 100644
--- a/lib/config/definitions.ts
+++ b/lib/config/definitions.ts
@@ -415,6 +415,20 @@ const options: RenovateOptions[] = [
     type: 'string',
     default: `Dependency Dashboard`,
   },
+  {
+    name: 'dependencyDashboardHeader',
+    description:
+      'Any text added here will be placed first in the Dependency Dashboard issue body.',
+    type: 'string',
+    default:
+      'This issue contains a list of Renovate updates and their statuses.',
+  },
+  {
+    name: 'dependencyDashboardFooter',
+    description:
+      'Any text added here will be placed last in the Dependency Dashboard issue body, with a divider separator before it.',
+    type: 'string',
+  },
   {
     name: 'configWarningReuseIssue',
     description:
diff --git a/lib/workers/repository/dependency-dashboard.ts b/lib/workers/repository/dependency-dashboard.ts
index 69d62579bc03f405aaf16d1ecb9cf55cbc147454..3ece53276e019fb4739591b0b75d19ce852bba89 100644
--- a/lib/workers/repository/dependency-dashboard.ts
+++ b/lib/workers/repository/dependency-dashboard.ts
@@ -71,7 +71,10 @@ export async function ensureMasterIssue(
     }
     return;
   }
-  let issueBody = `This issue contains a list of Renovate updates and their statuses.\n\n`;
+  let issueBody = '';
+  if (config.dependencyDashboardHeader?.length) {
+    issueBody += `${config.dependencyDashboardHeader}\n\n`;
+  }
   const pendingApprovals = branches.filter(
     (branch) => branch.res === 'needs-approval'
   );
@@ -202,9 +205,8 @@ export async function ensureMasterIssue(
   }
 
   // istanbul ignore if
-  if (global.appMode) {
-    issueBody +=
-      '---\n<details><summary>Advanced</summary>\n\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n\n</details>\n';
+  if (config.dependencyDashboardFooter?.length) {
+    issueBody += `---\n${config.dependencyDashboardFooter}\n`;
   }
 
   if (config.dryRun) {