diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ea5ae402..d87f7c099 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -134,6 +134,7 @@ - Config: fix Minimax hosted onboarding to write `agents.defaults` and allow `msteams` as a heartbeat target. — thanks @steipete - Discord: add channel/category management actions (create/edit/move/delete + category removal). (#487) - thanks @NicholasSpisak - Docs: split CLI install commands into separate code blocks. (#601) — thanks @martinpucik +- WhatsApp: record outbound provider activity using the active account id. (#537) — thanks @Nachx639 ## 2026.1.8 diff --git a/src/web/inbound.ts b/src/web/inbound.ts index f4645509f..f456d351e 100644 --- a/src/web/inbound.ts +++ b/src/web/inbound.ts @@ -585,9 +585,10 @@ export async function monitorWebInbox(options: { payload = { text }; } const result = await sock.sendMessage(jid, payload); + const accountId = sendOptions?.accountId ?? options.accountId; recordProviderActivity({ provider: "whatsapp", - accountId: options?.accountId, + accountId, direction: "outbound", }); return { messageId: result?.key?.id ?? "unknown" }; @@ -610,7 +611,7 @@ export async function monitorWebInbox(options: { }); recordProviderActivity({ provider: "whatsapp", - accountId: options?.accountId, + accountId: options.accountId, direction: "outbound", }); return { messageId: result?.key?.id ?? "unknown" }; diff --git a/src/web/outbound.ts b/src/web/outbound.ts index c8d99f7a3..6c6235dbd 100644 --- a/src/web/outbound.ts +++ b/src/web/outbound.ts @@ -69,9 +69,13 @@ export async function sendMessageWhatsApp( ); if (!active) throw new Error("Active web listener missing"); await active.sendComposingTo(to); - const sendOptions: ActiveWebSendOptions | undefined = options.gifPlayback - ? { gifPlayback: true } - : undefined; + const sendOptions: ActiveWebSendOptions | undefined = + options.gifPlayback || options.accountId + ? { + ...(options.gifPlayback ? { gifPlayback: true } : {}), + accountId: options.accountId, + } + : undefined; const result = sendOptions ? await active.sendMessage(to, text, mediaBuffer, mediaType, sendOptions) : await active.sendMessage(to, text, mediaBuffer, mediaType);