diff --git a/changelog.d/5276.feature b/changelog.d/5276.feature
new file mode 100644
index 0000000000000000000000000000000000000000..403dee0862e40a3179880480ef3cadc486848405
--- /dev/null
+++ b/changelog.d/5276.feature
@@ -0,0 +1 @@
+Allow configuring a range for the account validity startup job.
diff --git a/docs/sample_config.yaml b/docs/sample_config.yaml
index f658ec8ecdb0a502894c76d4c1c00fc1713c5828..8ff53d5cb40cfac54871f590b6570970981f42bb 100644
--- a/docs/sample_config.yaml
+++ b/docs/sample_config.yaml
@@ -755,11 +755,18 @@ uploads_path: "DATADIR/uploads"
 # after that the validity period changes and Synapse is restarted, the users'
 # expiration dates won't be updated unless their account is manually renewed.
 #
+# If set, the ``startup_job_max_delta`` optional setting will make the startup job
+# described above set a random expiration date between t + period  and
+# t + period + startup_job_max_delta, t being the date and time at which the job
+# sets the expiration date for a given user. This is useful for server admins that
+# want to avoid Synapse sending a lot of renewal emails at once.
+#
 #account_validity:
 #  enabled: True
 #  period: 6w
 #  renew_at: 1w
 #  renew_email_subject: "Renew your %(app)s account"
+#  startup_job_max_delta: 2d
 
 # The user must provide all of the below types of 3PID when registering.
 #