diff --git a/frontend/src/metabase/lib/expressions/config.js b/frontend/src/metabase/lib/expressions/config.js
index 6b06c47f8b254a7537ca33001dd0b7e3b99fc066..dd635594152947850f72ee6b6e82a82e3fe2d233 100644
--- a/frontend/src/metabase/lib/expressions/config.js
+++ b/frontend/src/metabase/lib/expressions/config.js
@@ -226,12 +226,22 @@ export const MBQL_CLAUSES = {
     type: "boolean",
     args: ["expression", "expression", "expression"],
   },
+  interval: {
+    displayName: "timeSpan",
+    type: "number",
+    args: ["number", "string"],
+  },
   "time-interval": {
     displayName: `interval`,
     type: "boolean",
     args: ["expression", "number", "string"],
     hasOptions: true,
   },
+  "relative-datetime": {
+    displayName: "relativeDateTime",
+    type: "expression",
+    args: ["number", "string"],
+  },
   "is-null": {
     displayName: `isnull`,
     type: "boolean",
diff --git a/frontend/src/metabase/lib/expressions/helper_text_strings.js b/frontend/src/metabase/lib/expressions/helper_text_strings.js
index 22fece8a64e7063cca8fc1940f2c7068a6a6bf5c..92b1c11cfd4157d2e29468b5a071de1a6d343c7c 100644
--- a/frontend/src/metabase/lib/expressions/helper_text_strings.js
+++ b/frontend/src/metabase/lib/expressions/helper_text_strings.js
@@ -440,6 +440,22 @@ const helperTextStrings = [
       { name: t`end`, description: t`The end of the range.` },
     ],
   },
+  {
+    name: "interval",
+    structure: "timeSpan(" + t`number` + ", " + t`text` + ")",
+    description: t`Gets a time interval of specified length`,
+    example: 'timeSpan(7, "day")',
+    args: [
+      {
+        name: t`number`,
+        description: t`Period of interval, where negative values are back in time.`,
+      },
+      {
+        name: t`text`,
+        description: t`Type of interval like "day", "month", "year".`,
+      },
+    ],
+  },
   {
     name: "time-interval",
     structure:
@@ -461,6 +477,22 @@ const helperTextStrings = [
       },
     ],
   },
+  {
+    name: "relative-datetime",
+    structure: "relativeDateTime(" + t`number` + ", " + t`text` + ")",
+    description: t`Gets a timestamp relative to the current time`,
+    example: 'relativeDateTime(-30, "day")',
+    args: [
+      {
+        name: t`number`,
+        description: t`Period of interval, where negative values are back in time.`,
+      },
+      {
+        name: t`text`,
+        description: t`Type of interval like "day", "month", "year".`,
+      },
+    ],
+  },
   {
     name: "is-null",
     structure: "isnull(" + t`column` + ")",
diff --git a/frontend/test/metabase/lib/expressions/suggest.unit.spec.js b/frontend/test/metabase/lib/expressions/suggest.unit.spec.js
index 9c651efa9f3c640d323b763cf831b425b1c3bab7..2eed1aa01f4400675dc839ca85c78553e4b364b8 100644
--- a/frontend/test/metabase/lib/expressions/suggest.unit.spec.js
+++ b/frontend/test/metabase/lib/expressions/suggest.unit.spec.js
@@ -147,6 +147,7 @@ describe("metabase/lib/expression/suggest", () => {
           [
             { text: "True", type: "literal" },
             { text: "[Total] ", type: "fields" },
+            { text: "timeSpan(", type: "functions" },
             { text: "trim(", type: "functions" },
           ].sort(suggestionSort),
         );