diff --git a/apps/web/components/integrations-view.tsx b/apps/web/components/integrations-view.tsx
index a812cce70..8b5f042b9 100644
--- a/apps/web/components/integrations-view.tsx
+++ b/apps/web/components/integrations-view.tsx
@@ -30,7 +30,7 @@ import {
Zap,
} from "lucide-react"
import { formatRelativeTime } from "@/components/settings/sync-utils"
-import { CHROME_EXTENSION_URL } from "@lib/constants"
+import { CHROME_EXTENSION_URL, POKE_RECIPE_URL } from "@lib/constants"
import { analytics } from "@/lib/analytics"
import Image from "next/image"
import { useViewMode } from "@/lib/view-mode-context"
@@ -278,6 +278,7 @@ interface BaseItem {
kind: ItemKind
simpleTitle?: string
dev?: boolean
+ isNew?: boolean
}
interface PluginItem extends BaseItem {
@@ -415,6 +416,26 @@ const SECTIONS: Array<{
icon: ,
action: { type: "external", href: CHROME_EXTENSION_URL },
},
+ {
+ kind: "client",
+ id: "poke",
+ name: "Poke",
+ tagline: "Recall and save memories from Poke over text",
+ simpleTitle: "Text Poke to recall and save your memories",
+ isNew: true,
+ icon: (
+
+
+
+ ),
+ action: { type: "external", href: POKE_RECIPE_URL },
+ },
{
kind: "client",
id: "shortcuts",
@@ -484,6 +505,19 @@ function ProChip() {
)
}
+function NewChip() {
+ return (
+
+ New
+
+ )
+}
+
function IconBox({ children }: { children: ReactNode }) {
return (
{name}
+ {isNew &&
}
{pro &&
}
- {pick.name} ·{" "}
- {pick.support}
+
+ {pick.emoji ? `${pick.emoji} ` : ""}
+ {pick.name}
+ {" "}
+ · {pick.support}
@@ -1318,6 +1359,36 @@ export function IntegrationsView() {
!isAutumnLoading && !hasProProduct && !isFreeTierPlugin("claude_code")
const featuredPicks: FeaturedPick[] = [
+ {
+ id: "feat-poke",
+ name: "Poke",
+ emoji: "🌴",
+ headline: "Your memory, one text away.",
+ support: "recall and save anything by texting Poke",
+ tagline: "Connect Poke to recall and save memories over text.",
+ icon: (
+
+ ),
+ backdrop: (
+
+ ),
+ ctaLabel: "Connect",
+ onCta: () => {
+ window.open(POKE_RECIPE_URL, "_blank", "noopener,noreferrer")
+ },
+ },
{
id: "feat-mcp",
name: "Supermemory MCP",
@@ -1563,9 +1634,11 @@ export function IntegrationsView() {
"_blank",
"noopener,noreferrer",
)
- analytics.onboardingChromeExtensionClicked({
- source: "integrations",
- })
+ if (item.id === "chrome") {
+ analytics.onboardingChromeExtensionClicked({
+ source: "integrations",
+ })
+ }
}}
>
Connect
@@ -1618,6 +1691,7 @@ export function IntegrationsView() {
name={item.name}
tagline={item.tagline}
pro={item.pro}
+ isNew={item.isNew}
docsUrl={item.docsUrl}
leftIndicator={renderLeftIndicator(item)}
rightSlot={renderRight(item)}
diff --git a/apps/web/public/images/poke.png b/apps/web/public/images/poke.png
new file mode 100644
index 000000000..0d07751f7
Binary files /dev/null and b/apps/web/public/images/poke.png differ
diff --git a/packages/lib/constants.ts b/packages/lib/constants.ts
index f980a2e14..ab721b399 100644
--- a/packages/lib/constants.ts
+++ b/packages/lib/constants.ts
@@ -7,6 +7,7 @@ const ADD_MEMORY_SHORTCUT_URL =
const RAYCAST_EXTENSION_URL = "https://www.raycast.com/supermemory/supermemory"
const CHROME_EXTENSION_URL =
"https://chromewebstore.google.com/detail/supermemory/afpgkkipfdpeaflnpoaffkcankadgjfc"
+const POKE_RECIPE_URL = "https://poke.com/r/5tHPbS8gZvA"
export {
BIG_DIMENSIONS_NEW,
@@ -15,4 +16,5 @@ export {
ADD_MEMORY_SHORTCUT_URL,
RAYCAST_EXTENSION_URL,
CHROME_EXTENSION_URL,
+ POKE_RECIPE_URL,
}