No announcement yet.

Learning EspoCRM and Design

  • Filter
  • Time
  • Show
Clear All
new posts

  • Learning EspoCRM and Design

    I wanted to create this thread where I could share some "hidden" feature and document progress in learning how to use EspoCRM. This idea popup when I watched this video and realize that this feature doesn't seem to be documented anywhere (I may have missed it). Maybe one day I can contribute to the documentation somehow but writing it in the forum is much easier as it is more free and without the pressure to write good documents.

    I try to look through this page:


    You can use Javascript commands in your field default see:
    But is there other code we can use? Are these standard javascript command and EspoCRM suppose any type of javascript command?

    Link Multiple Field - Make Relationship into a Field that can be linked (like Contact > Account) rather just than Relationship panels.
    Comments: I read this in the documents but did not quite understand what it mean. Looked through the screenshot of this thread and user post before I understood it.

    Creating a button and bypass PDF Template CSS (ugliness) restriction:
    Creating portal user via WebHook (?). Not something I need at the moment unless I can't mass create portal user in the future then I would need to learn this.

    Encrypting data before saving it to the database (security):
    Printing "Array" field in PDF as a list not as comma seperated.

    Filter Date field without time:

    Adding E-signature to EspoCRM by telecastg, combine this with the Javascript date will make it possible to turn it to a true-signature/contract documents similar to DocSigns, missing IP Logging I guess, not sure if Workflow is capable to support emailing.
    Forum thread:

    Attachment and email:

    Shared hosting? Error 406? Error 403? mod_security? Extension installation error? see:

    Custom Button, Mass Document adding / Bulk data upload (not using import):

    Using Formula, adding Formula. Dragging or retrieving data from other entity or data:

    Adding Task to Campaigns (Turning Basic entity to Basic Plus?):

    Auditing? Administration Duties? Monitor User? Be sure to have a look at: Administration > Auth User. Click on that arrow button and View.

    Wordpress intergration, forms, Website Form to EspoCRM:

    Multiple Lines / PDF Print? "Maybe you used double braces. You need to use triple for multi-line texts: {{{description}}}"

    Workflow: check duplicate -

    Create "Reminder" notification feature for new custom Entity:

    How to change to the copyright area / EspoCRM Copyright footer -

    Custom CSS, layout, Theme, Skin?

    Duplicate Entity or Cloning:

    Sidepanel edit custom view:

    Custom Template PDF File Names

    Search & Replace / Formula String / New Custom Function -

    Change favicon:

    Search not showing the right result?


    Feature Request in future:
    1. Stickied "save/close" button
    2. Recurring task/meeting - it on the "roadmap" but it been over 3 years now.

    Found this fancy product selector video, not sure if it also possible if you just buy the Quote/Invoice package or will require additional coding that the video owner did:
    Manage to found him here but no where to see how to get/buy the extension, looking through his video there is some feature that is of interest. Not sure if he contributing to the code or all of the feature is for private use?:
    Manage to find more information, look like you have to PM or email to get more information: eymen @ ebla-soft . com
    Last edited by espcrm; 03-23-2020, 04:51 AM.

  • #2
    Great idea! It could be the first step towards a proper developer manual if undocumented things get documented.


    • #3
      Please make a topic about the desired feature in this branch Our developers are monitoring this branch and building the plans for the EspoCRM enhancements.


      • espcrm
        espcrm commented
        Editing a comment
        Will do in the future but I currently don't want to burden further a (probably) already long list of plans/roadmap in queue.

    • #4
      All SMS I see is through some API and website portal. Any one ever tried a 'self-hosted' solution to this issue?

      Currently doing research and looking for anyone who want to learn with me.

      Seem like it is possible relatively (easy?) to do, this apps died but their website is still up:
      Without the apps, I can't turn my phone into the "gateway". This is a start, then we need to figure out how to get EspoCRM to use an API to send those request.


      • telecastg
        telecastg commented
        Editing a comment

      • espcrm
        espcrm commented
        Editing a comment
        Buying additional hardware that have no experience and learning it out of my goal at the moment. Might be something to look or work toward to but right now a simple solution is what I want. I don't need to plan out hundreds of SMS a day or an hour which is what all these powerful service offer. It more to log data and to make it more convenient (typing).

        I recently tried a couple of the SMS Gateway app that is still alive, couldn't get it to work properly so I went to use a "SMS from PC" solution which most failed. Found a software call MyPhoneExplorer which is really good compared to the other App.

        Still trying to need how to API gateway it. MyPhoneExplorer don't seem to have that capability.

      • tothewine
        tothewine commented
        Editing a comment
        Just adding some options: Most usb internet keys have SMS capability in their management pages. Here I can get them used for as low as 3€. Another idea is to run commands on android phones on device or over USB cable like this: adb shell service call isms 7 i32 0 s16 "" s16 "+1234567890" s16 "null" s16 "Example\ SMS\ from\ Android\ !" s16 "null" s16 "null"

    • #5
      I used an app on my Android phone that would convert an email to a text and send it, so I set a dummy email account with Google and emailed my messages to that account which was linked to the app called TextMyMail and my phone would send the messages, the app hasn't been updated since 2018 and my new phone doesn't like it but perhaps this is another alternative.

      Here's the link in case it might help.


      • espcrm
        espcrm commented
        Editing a comment
        Thanks. I did considered an Email to SMS but it rely on external services or server. But that is a nice way to log outgoing SMS, but no way to log incoming SMS is it?

      • telecastg
        telecastg commented
        Editing a comment
        Yes with TextMyMail you could do both, forward incoming emails as sms and emailing sms received.

    • #6
      smseagle = only sms... no call !

      openvox = asterisk and basic sms (http get) .. limited 160char so if someone send a sms with longText.. you receive .. first end of text and then the begin

      zycoo = no sms support

      the problem is .. if someone call the number ?

      in belgium, is a sms provider with a special phoneNumber in 4char.. if you send a sms to this number, the sms recome to you i have not teste to call it.. but i imagine that i will talk to me
      and restriction in belgium :
      you can't hide gsm phoneNumber with sms
      you can redirect call to another phoneNumber
      you can't redirect sms

      Last edited by item; 01-12-2020, 08:33 PM.


      • espcrm
        espcrm commented
        Editing a comment
        One of the VOIP extensions support Belgium services I believe.

    • #7
      Just adding some options: Most usb internet keys have SMS capability in their management pages. Here I can get them used for as low as 3€. Another idea is to run commands on android phones on device or over USB cable like this: adb shell service call isms 7 i32 0 s16 "" s16 "+1234567890" s16 "null" s16 "Example\ SMS\ from\ Android\ !" s16 "null" s16 "null"
      Hello tothewine I am completely ignorant about usb internet keys or Android commands but would love to learn more. Could you provide some links that I can check ?


    • #8
      Some interesting links, the first is a youtube video showing how to use and arduino card and a gsm card to make calls and send sms and the second is an article describing how to use javascript to control an arduino board

      It seems to me at first glance that this could be one way to integrate EspoCRM with an inexpensive SMS sending hardware solution, however this implies having a local node.js server running javascript not the browser.
      Last edited by telecastg; 01-15-2020, 03:05 PM.


      • #9
        In my country router is starting to use "SimCard" as a backup solution should the wired internet goes down, but none of the admin/dashboard setting ever have SMS capability.


        • #10
          Extraordinary thought! It could be the initial move towards a legitimate designer manual if undocumented things get reported.


          • #11
            This post will talk about Entity & Design

            I just recently create a new "module" or "entity" using Base Plus. It just the bare basic as I couldn't find any other relevant entity that can be use.

            It basically call "Voucher" or "Coupon", using the Auto-number Increment a serial key is generated for voucher so we can eventually link the voucher to a customer. The issue I'm currently facing is Bulk adding, there doesn't seem to be anyway to bulk add (pretty much module), unless the feature is quite hidden and I just don't see it.

            There is the Import function hidden in Admin setting but that mean I have to use Excel or Notepad to add the entry, save the document and import it, set up the field and finally get a result.

            Currently I'm using "Duplicate" but not all field get duplicated, for example the "Contact" field doesn't and I can't Mass Edit the field in either. It OK to use duplicate when it only a few voucher but once it get to a certain numbers it quite tedious.

            How has everyone adding mass data? Import?

            PS: My Import function also showing a 403 error like when I install extensions, this is going to be a problem.
            Last edited by espcrm; 01-22-2020, 04:57 AM.


            • espcrm
              espcrm commented
              Editing a comment
              Recently I report "bug" for the very first time for EspoCRM. Apparently it is not a bug! There isn't a standard format or template to report bug from the look of it so I used other CRM template.

              See this thread:

              The topic was close so I couldn't write more there. It a weird design choice but as long as it work it is fine. I read through the documents and got it working as intent.

              I suppose in the future once the data get big, the weakness of enabling the Full Text Search will be shown as it get slow down.

            • espcrm
              espcrm commented
              Editing a comment
              Today I cheat my auto-number enum field by temporary resetting the number and changing it back again.

              Before using EspoCRM I already allocate numbers to each client. Starting with EspoCRM I didn't want to import right away as it will leave empty data.

              But there was a few Contact I would like to add them to EspoCRM but if I them they will be assigned the current Next Number. What is my solution?

              1. Go into Admin > Entity Manager > Contact - Field > Enum
              2. Edit the field. Copy the current next number, paste it somewhere if you dont want to accidentally lost it. Change the "next" number to the number I want (it should be unique)
              3. Go create the contact. This contact will get the Number
              4. Go back to step one. Edit the field. Paste that previously copy number. Save.

            • espcrm
              espcrm commented
              Editing a comment
              It weird how meeting doesn't have a "Location" field, usually meeting must have one. I decide to add in the Address & Map field in my Meeting entity.

              Next I'm thinking of linking the relationship to the Property. That way I can have information on the Location as well. Finally I'm thinking of using a formula to Copy/Paste the Property's address into the Address(Map) if it left blank so it will save me the trouble of double entry.

              However, starting out I think it best to just link the Property field to the Meeting as I have more time to customize.

          • #12
            Originally posted by espcrm View Post
            How has everyone adding mass data? Import?
            I'm going to be investigating this area soon as we are looking at using EspoCRM to track our product serial numbering.

            Often, we allocate batches of serial numbers at a time for a given product therefore we are going to need the ability to generate "X" amount of new records with a unique (auto-generated sequential) number.

            As soon as I've got something in place, I'll post back.


            • espcrm
              espcrm commented
              Editing a comment
              This post could possible help you:

              That great to hear. It a pity that the auto-number system is static and cannot be edit through the Interface (GUI UI)

              --- Irrelevant comments below:
              I have some old data that I already assigned numbers, so I started from the newest number, however as some of these data I need to start linking so I just create new Data. So once day I will eventually have duplicate data until I fix it manually.

              For example: ABC001 ABC002 ABC003 was my serial before EspoCRM. When I start using my EspoCRM I started at ABC004.

              However I need to link data ABC002 so I just create new data, now on EspoCRM it will be ABC005, but it true number should be ABC002.

          • #13
            This post will talk about Emails

            I'm starting to use the email system. It seem quite difficult to link an email to extra Contact or Account. All email seem to automated link to one if the email matched.

            More importantly is the "From Email" or which email use to be send out. Currently I'm seeing a single option, does it mean that I can't send out email from another name?

            For example, I can only set it up to be send from:


            But I will also need:
   <--- different domain.

            This may cause an issue for me to use the build in email system. How do you guys use your email?
            Last edited by espcrm; 01-22-2020, 04:55 AM.


            • espcrm
              espcrm commented
              Editing a comment
              Testing the email system I decide to add my Personal email and fetch about 2 months of email. Now that I'm happy with the result I decide to fetch for 1 year timeframe (and eventually since the beginning). However it seem like I can't just change the Fetch date? It doesn't fetch older email.

              Is it a bug? Or do I need to wait longer as it is still download/CRON/jobs/fetching? Do I need to remove the email, add it back again and this time have a higher fetch "Since" date? What will the issue be if I do that? Duplication of email and relationship linking?

            • espcrm
              espcrm commented
              Editing a comment
              Really couldn't find any information on adding more "From" email or multiple outgoing. I have finally figured out how to do it.

              Basically you need to go into the User page (your account/login) and add the email you to use, then refresh the browser or website, then your email list should allow you to send any email you need.

            • espcrm
              espcrm commented
              Editing a comment
              EspoCRM email relationship linking is super fast. Initially I thought you need to wait for the Workflow/CRON execution to be complete before email is linked.

              However right after I add an email to an Contact, all much with that email is instantly linked to the Contact and I can view the list of email from them. It is amazingly discovery in term of the email system!

              I still have trouble with the fetching though, see Comments

              I decided to go ahead and just remove the email, add back the personal email. This time I fetch well beyond the require date (first email in 2016), I fetch all the way from 2000 (I assume that it will only start fetching from 2016 and not waste time trying to find email beyond then).

          • #14
            This post will talk about Formula.

            I recently learnt how to use Formula, currently it is still the very basic that I'm learning, however it is my first "guide", poorly taken screenshot and I think the written version should be detail enough to follow.

            Please see this thread/post:
            Last edited by espcrm; 01-22-2020, 04:55 AM.


            • #15
              This post will talk about Search

              The Search is awesome! Recently learnt about Full-text search (see first topic) and been using it. I think Email is best to not be included in Global search because at some point all your see is email result.

              Issue I'm currently having trouble is. "Filter" Global Search result. Yes I can just go into contact and search for Contact only but then I have to change my current view. Is there a search filter parameter that I'm not aware of in Global Search?

              For example: contact: john smith
              It should show only contact result or search only in contact.
              Last edited by espcrm; 01-22-2020, 04:56 AM.