Skip to main content

Integration settings

Integration settings types

interface CallWorkflowSettings {
missedWithVoicemail: string;
missedWithoutVoicemail: string;
outboundAnswered: string;
outboundUnanswered: string;
inboundAnswered: string;
}

interface GeneralSettings {
recordCreation: 'none' | string;
notifyRedirect: boolean;
businessHours: boolean;
contactSync: boolean;
defaultOwner:
| 'none'
| {
id: string;
translatedLabel: string;
};
logCall: string;
caseCreation: boolean;
logSms: boolean;
logCallRecordingUrl: string;
logVoiceMailUrl: string;
configureOmniChannelOn?: string;
}

type IntegrationSettingValue =
| string
| number
| boolean
| undefined
| {
id: string | number;
translatedLabel: string;
}
| {
id: string | number;
translatedLabel: string;
dataType: string;
};

interface IntegrationSettingsSectionSettings {
settings: {
[key: string]: IntegrationSettingValue | IntegrationSettingValue[];
};
}
type IntegrationSettingsValues = IntegrationSettingsSectionSettings['settings'];

Integration settings changed event payload

interface OnIntegrationSettingUpdateData {
service: string;
company_id: number;
integration_id: number;
integration_settings: {
sections: {
callWorkflow: {
settings: CallWorkflowSettings & IntegrationSettingsValues;
};
general: {
settings: GeneralSettings & IntegrationSettingsValues;
};
};
};
}