diff --git a/app/scenes/Settings/Zapier.tsx b/app/scenes/Settings/Zapier.tsx
index afc51aa00..5d88a0e09 100644
--- a/app/scenes/Settings/Zapier.tsx
+++ b/app/scenes/Settings/Zapier.tsx
@@ -1,32 +1,49 @@
import * as React from "react";
-import { useTranslation, Trans } from "react-i18next";
-import Button from "~/components/Button";
+import { Helmet } from "react-helmet";
+import { Trans } from "react-i18next";
import Heading from "~/components/Heading";
import Scene from "~/components/Scene";
import Text from "~/components/Text";
import ZapierIcon from "~/components/ZapierIcon";
+import useStores from "~/hooks/useStores";
function Zapier() {
- const { t } = useTranslation();
+ const { ui } = useStores();
+ const { resolvedTheme } = ui;
+
return (
}>
Zapier
+
+
+
+
Zapier is a platform that allows Outline to easily integrate with
- thousands of other business tools. Head over to Zapier to setup a
- "Zap" and start programmatically interacting with Outline.'
+ thousands of other business tools. Automate your workflows, sync data,
+ and more.
-
-
-
+
+
);
}
diff --git a/app/typings/index.d.ts b/app/typings/index.d.ts
index d279e404f..5ef0ad108 100644
--- a/app/typings/index.d.ts
+++ b/app/typings/index.d.ts
@@ -10,3 +10,9 @@ declare module "*.png" {
const value: any;
export = value;
}
+
+declare namespace JSX {
+ interface IntrinsicElements {
+ "zapier-app-directory": any;
+ }
+}
diff --git a/server/services/web.ts b/server/services/web.ts
index fa31e134e..7333bae8a 100644
--- a/server/services/web.ts
+++ b/server/services/web.ts
@@ -23,6 +23,7 @@ const scriptSrc = [
"'unsafe-inline'",
"'unsafe-eval'",
"gist.github.com",
+ "cdn.zapier.com",
];
if (env.GOOGLE_ANALYTICS_ID) {
@@ -107,7 +108,12 @@ export default function init(app: Koa = new Koa()): Koa {
directives: {
defaultSrc,
scriptSrc,
- styleSrc: ["'self'", "'unsafe-inline'", "github.githubassets.com"],
+ styleSrc: [
+ "'self'",
+ "'unsafe-inline'",
+ "github.githubassets.com",
+ "cdn.zapier.com",
+ ],
imgSrc: ["*", "data:", "blob:"],
frameSrc: ["*", "data:"],
connectSrc: ["*"], // Do not use connect-src: because self + websockets does not work in
diff --git a/shared/i18n/locales/en_US/translation.json b/shared/i18n/locales/en_US/translation.json
index 541f75886..f72730ed9 100644
--- a/shared/i18n/locales/en_US/translation.json
+++ b/shared/i18n/locales/en_US/translation.json
@@ -779,8 +779,7 @@
"New webhook": "New webhook",
"Webhooks can be used to notify your application when events happen in Outline. Events are sent as a https request with a JSON payload in near real-time.": "Webhooks can be used to notify your application when events happen in Outline. Events are sent as a https request with a JSON payload in near real-time.",
"Create a webhook": "Create a webhook",
- "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Head over to Zapier to setup a \"Zap\" and start programmatically interacting with Outline.'": "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Head over to Zapier to setup a \"Zap\" and start programmatically interacting with Outline.'",
- "Open Zapier": "Open Zapier",
+ "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.": "Zapier is a platform that allows Outline to easily integrate with thousands of other business tools. Automate your workflows, sync data, and more.",
"Your are creating a new workspace using your current account — {{email}}": "Your are creating a new workspace using your current account — {{email}}",
"Workspace name": "Workspace name",
"When your new workspace is created, you will be the admin, meaning you will have the highest level of permissions and the ability to invite others.": "When your new workspace is created, you will be the admin, meaning you will have the highest level of permissions and the ability to invite others.",