feat(integrations): add Zapier integration for Mem0

Zapier Platform CLI app (zapier-mem0) with Add Memory / Delete Memory
creates and Search Memories / Get Memories searches against the Mem0 v3
API. Custom API-key auth (Authorization: Token), base-URL + auth
injected via beforeRequest middleware, non-2xx surfaced as errors.

Add Memory polls GET /v1/event/{id}/ for async extraction. Includes an
E2E test suite via createAppTester.
This commit is contained in:
Himanshu-Sangshetti
2026-07-20 11:55:29 +05:30
parent 4464dca825
commit 9882eea7b8
12 changed files with 4931 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
'use strict';
// Prepend the configured base URL and inject the auth header on every request.
const includeApiKey = (request, z, bundle) => {
if (bundle.authData && bundle.authData.apiKey) {
request.headers = request.headers || {};
request.headers.Authorization = `Token ${bundle.authData.apiKey}`;
}
// Resolve relative URLs against the configured base URL.
if (request.url && request.url.startsWith('/')) {
const base = (bundle.authData && bundle.authData.baseUrl) || 'https://api.mem0.ai';
request.url = `${base.replace(/\/$/, '')}${request.url}`;
}
return request;
};
// Surface auth failures as Zapier auth errors so users are prompted to reconnect.
const handleBadResponses = (response, z, _bundle) => {
if (response.status === 401 || response.status === 403) {
throw new z.errors.Error(
'The Mem0 API key you supplied is invalid or lacks access.',
'AuthenticationError',
response.status,
);
}
return response;
};
module.exports = { includeApiKey, handleBadResponses };