diff --git a/roles/service-prober/templates/probes.py.j2 b/roles/service-prober/templates/probes.py.j2
index a9cb1a4a52d650c30391549726152a5b02169490..e1405f63684d49b6d546748213fe1419582cc06c 100644
--- a/roles/service-prober/templates/probes.py.j2
+++ b/roles/service-prober/templates/probes.py.j2
@@ -47,6 +47,20 @@ pannello_template = Probe(
 PROBES.extend(parameterize(
     pannello_template, 'credentials', test_credentials))
 
+# WebDAV.
+# Can't use "parameterize" because credentials are bound to the URL.
+{% for c in service_prober_webdav_credentials | default([]) %}
+PROBES.append(Probe(
+        probe_webdav,
+        'webdav_{{ c.username }}',
+        {
+            'url': 'https://www.{{ domain_public[0] }}/dav/{{ c.username }}/',
+            'credentials': Credentials(
+                username='{{ c.username }}',
+                password={{ c.password | to_json }}),
+        }))
+{% endfor %}
+
 # IMAP logins.
 imap_template = Probe(
     probe_imap,
@@ -60,6 +74,7 @@ PROBES.extend(
             imap_template, 'credentials', test_credentials),
         'addr', frontends))
 
+# SMTP (inbound / outbound).
 smtp_template = Probe(
     probe_mail_local_delivery,
     'mail_local_delivery',