Standardizes the contact company import/filter/automation contract on `company_name`. Closes #14096 Revives #9907 ## Why Contact company is read across the current CRM/contact UI from `additional_attributes['company_name']`, but CSV import and a few backend filter/automation paths still used the older `company` key. That meant imported company values could be saved in a place the dashboard, sorting, filters, and automation conditions did not consistently read from. Based on the production data check, the legacy `company` automation configuration is effectively dead: the affected account did not have contacts populated with `additional_attributes['company']`. So this PR intentionally avoids adding long-term fallback behavior and uses `company_name` as the single key going forward. ## What changed - Contact CSV import now writes only `company_name` into `additional_attributes['company_name']`. - The example contact import CSV now uses the `company_name` header. - Contact company sorting/filter config now uses `company_name`. - Automation condition config now uses `company_name`. - Existing standard automation conditions with `attribute_key: 'company'` are migrated to `company_name`. - Existing saved contact filters with standard `attribute_key: 'company'` are migrated to `company_name`. - Custom attributes named `company` are preserved and are not rewritten by the migration. ## How to test - Import a contact CSV with a `company_name` column and confirm the Contact Company field is populated. - Sort contacts by Company and confirm imported contacts are ordered correctly. - Create/edit an automation with Company as a condition and confirm it saves with `company_name`. - Verify existing saved contact filters and automation rules using the old standard `company` key are migrated to `company_name`. --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Sojan Jose <sojan@pepalo.com>
194 lines
7.1 KiB
JSON
194 lines
7.1 KiB
JSON
{
|
|
"AUTOMATION": {
|
|
"HEADER": "Automation",
|
|
"DESCRIPTION": "Automation can replace and streamline existing processes that require manual effort, such as adding labels and assigning conversations to the most suitable agent. This allows the team to focus on their strengths while reducing time spent on routine tasks.",
|
|
"LEARN_MORE": "Learn more about automation",
|
|
"COUNT": "{n} automation | {n} automations",
|
|
"HEADER_BTN_TXT": "Create Automation",
|
|
"LOADING": "Fetching automation rules",
|
|
"SEARCH_PLACEHOLDER": "Search automation rules...",
|
|
"NO_RESULTS": "No automation rules found matching your search",
|
|
"ADD": {
|
|
"TITLE": "Add Automation Rule",
|
|
"SUBMIT": "Create",
|
|
"CANCEL_BUTTON_TEXT": "Cancel",
|
|
"FORM": {
|
|
"NAME": {
|
|
"LABEL": "Rule Name",
|
|
"PLACEHOLDER": "Enter rule name",
|
|
"ERROR": "Name is required"
|
|
},
|
|
"DESC": {
|
|
"LABEL": "Description",
|
|
"PLACEHOLDER": "Enter rule description",
|
|
"ERROR": "Description is required"
|
|
},
|
|
"EVENT": {
|
|
"LABEL": "Event",
|
|
"PLACEHOLDER": "Please select one",
|
|
"ERROR": "Event is required"
|
|
},
|
|
"CONDITIONS": {
|
|
"LABEL": "Conditions"
|
|
},
|
|
"ACTIONS": {
|
|
"LABEL": "Actions"
|
|
}
|
|
},
|
|
"CONDITION_BUTTON_LABEL": "Add Condition",
|
|
"ACTION_BUTTON_LABEL": "Add Action",
|
|
"API": {
|
|
"SUCCESS_MESSAGE": "Automation rule added successfully",
|
|
"ERROR_MESSAGE": "Could not able to create a automation rule, Please try again later"
|
|
}
|
|
},
|
|
"LIST": {
|
|
"TABLE_HEADER": {
|
|
"NAME": "Name",
|
|
"ACTIVE": "Active",
|
|
"CREATED_ON": "Created on",
|
|
"ACTIONS": "Actions"
|
|
},
|
|
"404": "No automation rules found"
|
|
},
|
|
"DELETE": {
|
|
"TITLE": "Delete Automation Rule",
|
|
"SUBMIT": "Delete",
|
|
"CANCEL_BUTTON_TEXT": "Cancel",
|
|
"CONFIRM": {
|
|
"TITLE": "Confirm Deletion",
|
|
"MESSAGE": "Are you sure to delete ",
|
|
"YES": "Yes, Delete ",
|
|
"NO": "No, Keep "
|
|
},
|
|
"API": {
|
|
"SUCCESS_MESSAGE": "Automation rule deleted successfully",
|
|
"ERROR_MESSAGE": "Could not able to delete a automation rule, Please try again later"
|
|
}
|
|
},
|
|
"EDIT": {
|
|
"TITLE": "Edit Automation Rule",
|
|
"SUBMIT": "Update",
|
|
"CANCEL_BUTTON_TEXT": "Cancel",
|
|
"API": {
|
|
"SUCCESS_MESSAGE": "Automation rule updated successfully",
|
|
"ERROR_MESSAGE": "Could not update automation rule, Please try again later"
|
|
}
|
|
},
|
|
"CLONE": {
|
|
"TOOLTIP": "Clone",
|
|
"API": {
|
|
"SUCCESS_MESSAGE": "Automation cloned successfully",
|
|
"ERROR_MESSAGE": "Could not clone automation rule, Please try again later"
|
|
}
|
|
},
|
|
"FORM": {
|
|
"EDIT": "Edit",
|
|
"CREATE": "Create",
|
|
"DELETE": "Delete",
|
|
"CANCEL": "Cancel",
|
|
"RESET_MESSAGE": "Changing event type will reset the conditions and events you have added below"
|
|
},
|
|
"CONDITION": {
|
|
"DELETE_MESSAGE": "You need to have atleast one condition to save",
|
|
"CONTACT_CUSTOM_ATTR_LABEL": "Contact Custom Attributes",
|
|
"CONVERSATION_CUSTOM_ATTR_LABEL": "Conversation Custom Attributes"
|
|
},
|
|
"ACTION": {
|
|
"DELETE_MESSAGE": "You need to have atleast one action to save",
|
|
"TEAM_MESSAGE_INPUT_PLACEHOLDER": "Enter your message here",
|
|
"TEAM_DROPDOWN_PLACEHOLDER": "Select teams",
|
|
"EMAIL_INPUT_PLACEHOLDER": "Enter email",
|
|
"URL_INPUT_PLACEHOLDER": "Enter URL"
|
|
},
|
|
"TOGGLE": {
|
|
"ACTIVATION_TITLE": "Activate Automation Rule",
|
|
"DEACTIVATION_TITLE": "Deactivate Automation Rule",
|
|
"ACTIVATION_DESCRIPTION": "This action will activate the automation rule '{automationName}'. Are you sure you want to proceed?",
|
|
"DEACTIVATION_DESCRIPTION": "This action will deactivate the automation rule '{automationName}'. Are you sure you want to proceed?",
|
|
"ACTIVATION_SUCCESFUL": "Automation Rule Activated Successfully",
|
|
"DEACTIVATION_SUCCESFUL": "Automation Rule Deactivated Successfully",
|
|
"ACTIVATION_ERROR": "Could not Activate Automation, Please try again later",
|
|
"DEACTIVATION_ERROR": "Could not Deactivate Automation, Please try again later",
|
|
"CONFIRMATION_LABEL": "Yes",
|
|
"CANCEL_LABEL": "No"
|
|
},
|
|
"ATTACHMENT": {
|
|
"UPLOAD_ERROR": "Could not upload attachment, Please try again",
|
|
"LABEL_IDLE": "Upload Attachment",
|
|
"LABEL_UPLOADING": "Uploading...",
|
|
"LABEL_UPLOADED": "Successfully Uploaded",
|
|
"LABEL_UPLOAD_FAILED": "Upload Failed"
|
|
},
|
|
"ERRORS": {
|
|
"ATTRIBUTE_KEY_REQUIRED": "Attribute key is required",
|
|
"FILTER_OPERATOR_REQUIRED": "Filter operator is required",
|
|
"VALUE_REQUIRED": "Value is required",
|
|
"VALUE_MUST_BE_BETWEEN_1_AND_998": "Value must be between 1 and 998",
|
|
"ACTION_PARAMETERS_REQUIRED": "Action parameters are required",
|
|
"ATLEAST_ONE_CONDITION_REQUIRED": "At least one condition is required",
|
|
"ATLEAST_ONE_ACTION_REQUIRED": "At least one action is required"
|
|
},
|
|
"NONE_OPTION": "None",
|
|
"LAST_RESPONDING_AGENT": "Last Responding Agent",
|
|
"EVENTS": {
|
|
"CONVERSATION_CREATED": "Conversation Created",
|
|
"CONVERSATION_UPDATED": "Conversation Updated",
|
|
"MESSAGE_CREATED": "Message Created",
|
|
"CONVERSATION_RESOLVED": "Conversation Resolved",
|
|
"CONVERSATION_OPENED": "Conversation Opened"
|
|
},
|
|
"ACTIONS": {
|
|
"ASSIGN_AGENT": "Assign to Agent",
|
|
"ASSIGN_TEAM": "Assign a Team",
|
|
"REMOVE_ASSIGNED_AGENT": "Remove Assigned Agent",
|
|
"REMOVE_ASSIGNED_TEAM": "Remove Assigned Team",
|
|
"ADD_LABEL": "Add a Label",
|
|
"REMOVE_LABEL": "Remove a Label",
|
|
"SEND_EMAIL_TO_TEAM": "Send an Email to Team",
|
|
"SEND_EMAIL_TRANSCRIPT": "Send an Email Transcript",
|
|
"MUTE_CONVERSATION": "Mute Conversation",
|
|
"SNOOZE_CONVERSATION": "Snooze Conversation",
|
|
"RESOLVE_CONVERSATION": "Resolve Conversation",
|
|
"SEND_WEBHOOK_EVENT": "Send Webhook Event",
|
|
"SEND_ATTACHMENT": "Send Attachment",
|
|
"SEND_MESSAGE": "Send a Message",
|
|
"ADD_PRIVATE_NOTE": "Add a Private Note",
|
|
"CHANGE_PRIORITY": "Change Priority",
|
|
"ADD_SLA": "Add SLA",
|
|
"OPEN_CONVERSATION": "Open conversation",
|
|
"PENDING_CONVERSATION": "Mark conversation as pending"
|
|
},
|
|
"MESSAGE_TYPES": {
|
|
"INCOMING": "Incoming Message",
|
|
"OUTGOING": "Outgoing Message"
|
|
},
|
|
"PRIORITY_TYPES": {
|
|
"NONE": "None",
|
|
"LOW": "Low",
|
|
"MEDIUM": "Medium",
|
|
"HIGH": "High",
|
|
"URGENT": "Urgent"
|
|
},
|
|
"ATTRIBUTES": {
|
|
"MESSAGE_TYPE": "Message Type",
|
|
"PRIVATE_NOTE": "Private Note",
|
|
"MESSAGE_CONTAINS": "Message Contains",
|
|
"EMAIL": "Email",
|
|
"INBOX": "Inbox",
|
|
"CONVERSATION_LANGUAGE": "Conversation Language",
|
|
"PHONE_NUMBER": "Phone Number",
|
|
"STATUS": "Status",
|
|
"BROWSER_LANGUAGE": "Browser Language",
|
|
"MAIL_SUBJECT": "Email Subject",
|
|
"COUNTRY_NAME": "Country",
|
|
"COMPANY_NAME": "Company",
|
|
"REFERER_LINK": "Referrer Link",
|
|
"ASSIGNEE_NAME": "Assignee",
|
|
"TEAM_NAME": "Team",
|
|
"PRIORITY": "Priority",
|
|
"LABELS": "Labels"
|
|
}
|
|
}
|
|
}
|