diff --git a/apps/server/src/api-integration/integration.controller.ts b/apps/server/src/api-integration/integration.controller.ts index 7ecaac87e..0b5432a9e 100644 --- a/apps/server/src/api-integration/integration.controller.ts +++ b/apps/server/src/api-integration/integration.controller.ts @@ -46,7 +46,8 @@ const actionHandlers: Record = { if (typeof property !== 'string' || value === undefined) { throw new Error('Invalid property or value'); } - const newObjectProperty = parseProperty(property, value); + // all custom fields keys are lowercase + const newObjectProperty = parseProperty(property.toLowerCase(), value); if (patchEvent.custom && newObjectProperty.custom) { Object.assign(patchEvent.custom, newObjectProperty.custom); diff --git a/apps/server/src/api-integration/integration.utils.ts b/apps/server/src/api-integration/integration.utils.ts index 548b0a834..8b0014761 100644 --- a/apps/server/src/api-integration/integration.utils.ts +++ b/apps/server/src/api-integration/integration.utils.ts @@ -27,7 +27,7 @@ export function parseProperty(property: string, value: unknown) { throw new Error(`Custom field ${customKey} not found`); } const parserFn = whitelistedPayload.custom; - return { custom: { [customKey]: { value: parserFn(value) } } }; + return { custom: { [customKey]: parserFn(value) } }; } if (!isKeyOfType(property, whitelistedPayload)) { diff --git a/apps/server/src/utils/parserFunctions.ts b/apps/server/src/utils/parserFunctions.ts index bff730f56..6aed650c6 100644 --- a/apps/server/src/utils/parserFunctions.ts +++ b/apps/server/src/utils/parserFunctions.ts @@ -259,7 +259,8 @@ export const parseCustomFields = (data: Partial): CustomFields => console.log('ERROR: missing required field, skipping'); continue; } - newCustomFields[field.label] = { + const key = field.label.toLowerCase(); + newCustomFields[key] = { type: field.type, colour: field.colour, label: field.label,