Backend and frontend improvements to CRM activities, filtering, SMS functionality and more#10
Merged
vladiacob merged 39 commits intohackajob:hackajob-developmentfrom Oct 21, 2025
Conversation
… components to have blank subject by default
…hild table fields
…andling and loading states
…sending functions
… threads, SMS threads, and other activities chronologically
…lter by 'IS' operator
…ions; enhance SMS bubble styling
… manage connection failures gracefully
1b17db9 to
d9cbb05
Compare
76ccc73 to
5651b3d
Compare
…ntation in activities
…vities and SmsThread components
…iselects and improve display in MultiSelectLink component
…in CRM Task creation
…ges and improving recipient resolution
…fined messages based on call state. This fixes the twilio UDM error
vladiacob
approved these changes
Oct 21, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several backend and frontend improvements to CRM activities, filtering, and SMS functionality. The main highlights are the addition of SMS support (including sending, receiving, and displaying SMS as activities), enhanced filtering for Table MultiSelect child table fields, optimized fetching of communication metadata, and improvements to email content rendering.
SMS Functionality:
crm/api/sms.pyto send, receive, and fetch SMS messages, including logging SMS asCommunicationrecords and linking them to leads where possible.ActivityHeader.vue) to add a "New SMS" button and action, enabling users to initiate SMS messages from the UI. [1] [2] [3] [4]Filtering and Data Retrieval Enhancements:
get_filterable_fieldsincrm/api/doc.pyto include filterable fields for Table MultiSelect child tables, allowing advanced filtering similar to Frappe Desk.get_dataincrm/api/doc.pyto support complex filters on Table MultiSelect fields (including "in"/"is" logic for union/intersection), and to normalize phone-like fields for LIKE queries server-side.Activity Data Optimization:
sent_or_receivedfield for communications in both deal and lead activities, reducing database queries by bulk-fetching missing values. [1] [2] [3] [4]Email Content Rendering Improvements:
EmailContent.vueandEmailArea.vueby adjusting iframe sizing dynamically, handling images and fonts loading, and notifying the parent when content is loaded. Added support for hiding the subject and controlling visibility. [1] [2] [3] [4] [5] [6] [7]Other Changes:
crm/patches/v1_0/change_user_email_signature.py) and registered it inpatches.txtto update theemail_signaturefield type for users to "Text Editor". [1] [2]These changes collectively improve CRM activity tracking, filtering capabilities, and user experience for both SMS and email communications.
Edit:
SMS Settings doctype config
sms_gateway:
provider: twilio
url: https://api.twilio.com/2010-04-01/Accounts/${TWILIO_ACCOUNT_SID}/Messages.json
method: POST
Body: "{{message}}"
To: "{{recipient}}"
parameters:
static:
From: "${TWILIO_FROM_NUMBER}"
headers:
Authorization: "Basic ${TWILIO_AUTH_BASE64}"
Content-Type: "application/x-www-form-urlencoded"
🔐 Required Environment Variables
Variable | Description | Example Format
TWILIO_ACCOUNT_SID | Your Twilio Account SID | ACxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_BASE64 | Base64-encoded SID:AUTH_TOKEN string | Basic xxxxxxxxxxxxxxxx==
TWILIO_FROM_NUMBER | Sender phone number (Twilio-managed) | +447XXXXXXXXX