diff --git a/workflow/usage.rst b/workflow/usage.rst
index 2126a61d701..e6ce666c2b7 100644
--- a/workflow/usage.rst
+++ b/workflow/usage.rst
@@ -450,3 +450,145 @@ The following example shows these functions in action:
{% if 'waiting_some_approval' in workflow_marked_places(post) %}
PENDING
{% endif %}
+
+Storing Metadata
+----------------
+
+.. versionadded:: 4.1
+ The feature to store metadata in workflows was introduced in Symfony 4.1.
+
+In case you need it, you can store arbitrary metadata in workflows, their
+places, and their transitions using the ``metadata`` option. This metadata can
+be as simple as the title of the workflow or as complex as your own application
+requires:
+
+.. configuration-block::
+
+ .. code-block:: yaml
+
+ # config/packages/workflow.yaml
+ framework:
+ workflows:
+ blog_publishing:
+ metadata: 'Blog Publishing Workflow'
+ # ...
+ places:
+ draft:
+ metadata:
+ max_num_of_words: 500
+ # ...
+ transitions:
+ to_review:
+ from: draft
+ to: review
+ metadata:
+ priority: 0.5
+ # ...
+
+ .. code-block:: xml
+
+
+
+
+ Workflow:
+ {{ workflow_metadata(article, 'title') }}
+
+ Current place(s) +
{{ workflow_metadata(article, 'max_num_of_words', place) ?: 'Unlimited'}}
+ + Enabled transition(s) +
{{ workflow_metadata(article, 'priority', transition) ?: '0' }}
+ Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: