diff --git a/integrations/instagram/src/webhook/handlers/messages.ts b/integrations/instagram/src/webhook/handlers/messages.ts index e6a3ec7827f..ef867859b15 100644 --- a/integrations/instagram/src/webhook/handlers/messages.ts +++ b/integrations/instagram/src/webhook/handlers/messages.ts @@ -118,18 +118,30 @@ const _commonMessagingHandler = async ({ const { client, ctx, logger } = handlerProps const { sender, recipient } = messagingItem - const { conversation } = await client.getOrCreateConversation({ - channel: 'channel', - tags: { - id: sender.id, - }, - }) + const { conversation } = await client + .getOrCreateConversation({ + channel: 'channel', + tags: { + id: sender.id, + }, + }) + .catch((thrown) => { + const errorMessage = thrown instanceof Error ? thrown.message : String(thrown) + logger.error(`Failed to get or create conversation for Instagram user ${sender.id}: ${errorMessage}`) + throw thrown + }) - const { user } = await client.getOrCreateUser({ - tags: { - id: sender.id, - }, - }) + const { user } = await client + .getOrCreateUser({ + tags: { + id: sender.id, + }, + }) + .catch((thrown) => { + const errorMessage = thrown instanceof Error ? thrown.message : String(thrown) + logger.error(`Failed to get or create user for Instagram user ${sender.id}: ${errorMessage}`) + throw thrown + }) if (!user.name || !user.pictureUrl) { try { diff --git a/integrations/messenger/src/webhook/handlers/message.ts b/integrations/messenger/src/webhook/handlers/message.ts index 72574af364c..31cb5ad720a 100644 --- a/integrations/messenger/src/webhook/handlers/message.ts +++ b/integrations/messenger/src/webhook/handlers/message.ts @@ -117,16 +117,29 @@ const _commonMessagingHandler = async ({ const { client } = handlerProps const { sender, recipient } = messagingItem - const { conversation } = await client.getOrCreateConversation({ - channel: 'channel', - tags: { id: sender.id }, - }) + const { conversation } = await client + .getOrCreateConversation({ + channel: 'channel', + tags: { id: sender.id }, + }) + .catch((thrown) => { + const errorMessage = thrown instanceof Error ? thrown.message : String(thrown) + handlerProps.logger.error(`Failed to get or create conversation for Messenger user ${sender.id}: ${errorMessage}`) + throw thrown + }) + + const { user } = await client + .getOrCreateUser({ + tags: { + id: sender.id, + }, + }) + .catch((thrown) => { + const errorMessage = thrown instanceof Error ? thrown.message : String(thrown) + handlerProps.logger.error(`Failed to get or create user for Messenger user ${sender.id}: ${errorMessage}`) + throw thrown + }) - const { user } = await client.getOrCreateUser({ - tags: { - id: sender.id, - }, - }) await _updateUserProfile(user, sender.id, handlerProps) await client.getOrCreateMessage({