feat(integrations): add Zapier app for Mem0

A Zapier Platform CLI app (TypeScript) wrapping the hosted Mem0 v3 REST API:
Add / Search / Get Memories / Delete actions with custom API-key auth.

- Written in TypeScript, compiles to dist/; offline unit tests (mocked z.request)
  plus live E2E; `zapier validate` clean
- Add supports custom_instructions, custom_categories, includes, excludes;
  Wait-for-Completion defaults off (extraction can exceed Zapier's 30s step limit)
- Middleware surfaces non-2xx as errors (no silent empty results)
- Anonymous opt-out telemetry (MEM0_TELEMETRY=false)
- Docs page + docs.json/llms.txt entry, ci-gate wiring, AGENTS.md rows

Split out of #6057 per review (separate PRs per integration).
This commit is contained in:
Himanshu-Sangshetti
2026-07-23 03:05:53 +05:30
parent ca2abca2b8
commit 9b1e2ef604
24 changed files with 4194 additions and 0 deletions
+2
View File
@@ -431,6 +431,7 @@ PR testing is orchestrated by a single entry point: **`ci-gate.yml` (CI Gate)**
| OpenClaw | `openclaw-checks.yml` | Push to main (on `integrations/openclaw/`), manual | tsc + vitest (with Codecov) + tsup build on Node 20, 22 |
| OpenCode Plugin | `opencode-plugin-checks.yml` | Push to main (on `integrations/mem0-plugin/.opencode-plugin/`), manual | Bun: tsc type-check + build + dist artifact check |
| Pi Agent Plugin | `pi-agent-plugin-checks.yml` | Push to main (on `integrations/pi-agent-plugin/`), manual | tsc + vitest + tsup build (dist artifact check) on Node 20, 22 |
| Zapier App | `zapier-mem0-checks.yml` | Push to main (on `integrations/zapier-mem0/`), manual | build (tsc) + `zapier validate` + offline unit tests on Node 22 |
| docs llms.txt | `docs-llms-txt-check.yml` | Manual | `docs/llms.txt` coverage check |
When adding a new package CI workflow: give it `workflow_call` (plus `push`/`workflow_dispatch` as needed, but no `pull_request` trigger), then register it in `ci-gate.yml` — a path filter under the `changes` job, a call job, and an entry in the gate job's `needs` list.
@@ -455,6 +456,7 @@ Publishing is routed through a single entry point: **`release.yml` (Release Rout
- All publishing uses **OIDC trusted publishing** — no tokens or secrets required.
- First publish of a new npm package must be done manually; OIDC works for subsequent versions.
- To re-publish a release (e.g. after a registry settings fix), do **not** delete/recreate the GitHub release — manually dispatch the package workflow instead: `gh workflow run <package>-cd.yml --ref refs/tags/<tag> -f tag=<tag>`.
- The **Zapier app** (`integrations/zapier-mem0`) deploys to Zapier's own platform, not npm, so it is **not** in the release router. Deploy it manually: `gh workflow run zapier-mem0-cd.yml --ref main` (requires the `ZAPIER_DEPLOY_KEY` secret).
- When adding a new package: add its CD workflow (`workflow_dispatch` with `tag`/`prerelease` inputs), then register its tag prefix in the `case` block in `release.yml`. Keep the bare `v*` arm last.
### Utility Workflows