Migrating off Monday to Listaflow and SuiteCRM

Ticket to Log time

Hello @team !

Some of you may already be aware, but we are migrating away from Monday.com to Listaflow and SuiteCRM. This was accelerated by the fact that our contract was coming up for renewal at the end of December. After discussing with @antoviaque , we decided to pull the trigger and jump off Monday to services we can better customize and control.

As of now, the Sprint Checklist has already been moved over to Listaflow, and if you visit Listaflow now, you’ll find your checklist there. It should be set up to have your tasks according to your roles-- with the exception of Firefighters/DD, which need some dynamic updating to work right.

For Deathstar members, some of these tasks may be a bit outside the scope of what actually needed. If there’s a task that you don’t have any idea how it’s relevant or what it’s for, go ahead and check it off and make a note of it in this thread. We’ll probably need to find a way to further tweak the tasks for our cell as opposed to the development cells.

In any case, since we’re now using Listaflow in a new way for a new use case, I expect there to be room for improvement and I encourage you to either file issues for things you come across or comment here if you’re unsure about something.

As for Monday’s function as a CRM, we’re moving away from that as well. Everyone should now have an account on our New CRM, SuiteCRM, lovingly deployed by @gabor and configured by myself :slight_smile:

Since SuiteCRM is a new tool for us, we’ll have to take some time re-learning it. However, here are some key pieces of information I have for you now:

  1. Core team members: Your username is your first name. You can do a password reset to get a recovery email and set your password. If for some reason this isn’t working, let me know and I’ll look into it.
  2. Clients are known as ‘Accounts’ in this system.
  3. All of the current customers have been migrated into the CRM as Accounts, alongside all of the updates/comments in the form of ‘Notes’.
  4. In SuiteCRM, you should be able to find the Notes on the page of the details page of the Account you’re interested in.
  5. One or more of these notes will be your account briefing and/or value proposition.

You don’t need to do so right now, but next you need to use the CRM to perform an update, please look through the notes on the Account your managing and find the relevant Client Briefing/Value proposition, and paste that into the description field. I’d have done this automatically, but the data wasn’t consistent enough to make fighting with it worth the trouble.

When making an update as you currently do on Monday, do it via Note on the account instead. :slight_smile:

As we work with these tools more, we’ll get the hang of the workflow. I’ll be updating our docs in the coming weeks to reflect the change in tooling, but figured an announcement would be best to prevent/clear up confusion in the interim. Please do not make further updates on Monday’s client entries. They won’t be moved over. Use SuiteCRM instead.

As for the leads, I’m still working on importing those, but should have them done soon. I’ll update this thread once that is completed.


@Fox Thank you for the updates and detailed instructions on how to access the CRM. I am jotting them down here in case it comes handy for someone. :slight_smile:

  1. The login using password reset worked as expected. The email link wasn’t a hyper-link and needed copy pasting.
  2. The default font size is a little tiny. There isn’t an option to tweak it from User preferences. Using the browser Zoom (CTRL+) totally works without creating weird UI element rendering/overflowing issues.
  3. The colors were a little low contrast for me, using “Noon” layout style from Profile > Layout Options helped with that.
  4. In the detailed page of an account, there is no section named “Notes”. They can be accessed by clicking History > and then selecting the item named something like “Imported Update #12312321312”. OR by going to the All > Notes on the top menu.

@Fox Thanks a lot for the detailed update. Its great that we are moving away from closed tools to open-source solutions.

I tried doing this for a client, but unfortunately the CRM tries to do a GET request with the entire client briefing/value proposition appended to the URI, and the server responds with a 414 - URI too long.

Perhaps a good opportunity for us to contribute to the tool. :slight_smile:

Also, @tecoholic thanks for your notes, it was really handy.


@Fox I don’t have anything other than the check-in list. Is there something I need to do to get it?

@Fox Amazing work! :slight_smile:

There is a “Two Factor Authentication” in the settings, should we enable it?


Great work @Fox, thank you so much for driving this migration!

I think we still have STAR-2178 for this :slightly_smiling_face:

The sprint checklist shows up for me, it is integrated in the check-in form.


@Fox If it helps, you can see the checklist I use here: Log in - OpenCraft


Yeah, go for it! I don’t see a setting for enabling it system-wide, but I’ve enabled it for my own account. I’m not sure if you’ll be able to log in if I set it pre-emptively on each account-- after all, if you’re able to reset your password using the same email it sends the one time passcodes to-- well, that’s one factor authentication done twice, not two factor!

Thanks! This could come in handy :slight_smile:

@kaustav is right here, @keithgg – and what I should do is update the name of the checklist in Listaflow to make this clearer now that they’re integrated. So I’ll do that!


@Fox Kudos for all the work on this! It’s great to have been able to use the opportunity to switch from Monday.com to Listaflow, and have the budget we were dedicating to Monday.com now going to our work on Listaflow :slight_smile:

I’m curious to look at the result more closely, and for that I have couple of questions:

  • How can I see the reports from the OpenCraft sprint checklist? I think currently I only see the Open edX core contributor ones.
  • Is there an admin URL somewhere? For example, how are users & groups managed currently? Or checklists created & edited?
  • SuiteCRM looks good, if a bit bloated - but that’s kinda to be expected from these tools ;p And maybe we can end up using some of the extra features. Do you know for example if there is a way to get notified by email, when new updates, accounts, leads, etc. are posted? That would help me to stay more on top of it. And if there was a way to do this selectively, that could allow client owners to also get updates on their own clients when they are posted.
  • Until now we have used a (mostly) unique username for everyone across all our tools (at least the ones we host), based on the github username - which is nice especially for pings or when the full name isn’t visible. Would it be possible to rename the users to match it? (our usernames are listed in the contact sheet)

@Fox, all formatting and embedded links from Monday.com updates were lost during the import process. Please see the original note and the imported one. Is there a way to enable the formatting (e.g., Markdown) in SuiteCRM?

I’ve been using Monday Updates for tracking things like current code drift, custom branches, upgrade progress, etc. It’s hard to read these things in plaintext, though.

Edit: To open the SuiteCRM link from this comment, you need to copy and paste it into a new tab. Clicking it leads to the Possible Cross Site Request Forgery (XSRF) Attack Detected page.

1 Like

You should be able to see both. You can look at the trends over time by going to the ‘Reports’ link in the header and then selecting the OpenCraft Sprint Checkin form from the dropdown. If you want to check the report constrainted to one specific run, the best way to do so currently is to go to your lists (you may need to go to ‘Assigned to me’ or ‘All’ to find a list you need in particular) and click the three dot menu on the side of it to get a dropdown where you can click ‘Show Report’ and get the report for that run.

Yep, it’s here.

I believe there is a way to do this but I haven’t gotten it set up yet-- been busy focusing on the import. However I’ll be sure to add you when I get to that point :slight_smile:

I can do that! Give me a while first, though-- I set up the usernames as they are because they made importing from Monday easier (since the exports all write out names, it was easier to start by naming everyone their display name’s first segment lower cased). Usernames can be changed in the system, though, so I can certainly sync them to the GitHub usernames later.

I’ve been looking into this as of this morning. There IS a way to have formatted description fields! They’re not markdown based but they’re HTML-fields that have a WYSIWYG editor widget.

So that should be easy-- just render the markdown and then import it into the field, right?

Apparently not-- SuiteCRM’s import utility is stripping the tags from the CSV file. I’ve reached out on their forums to figure out if there’s a way around this. If there isn’t, we’ll either need to accept old notes not having formatting, or else spend time drafting an import script in either PHP or MySQL to import these records directly. I’m waiting to see what they say.

In the mean time I’ve got both versions of the field loaded into the layout-- you should be able to see them now. New notes can be created using the WYSIWYG field.

1 Like

Ah, thanks - I didn’t realise the checklist had been added to the sprint checkin, as that was previously only used for the “how did you feel?” survey. That makes sense though, and now I can see it.

And thanks for all the other details too, great!

Thanks, @Fox. I moved my notes manually, and most of the formatting was retained (example).

It needs a small CSS hack to increase the height of the iframe#note_c node (e.g., to 4000px), as the default one is unusable, but it works.

Great! I’ve heard back from their forums and pretty much the only way to get around this is manual insertion. They suggested PHPMyAdmin.

That would require deploying it and maintaining it, so I don’t think we really want to do that if we don’t have to, so unless it’s a big issue, I’d rather not try to solve this directly. Instead, I’ve improved the importer script and run it once more so that the text it imports into the non-WYSIWYG field is better. In most cases it should be functional markdown.

If the result is good enough for your client’s tracking, feel free to keep it as-is. If it isn’t, since the text should be markdown, I’d suggest just grabbing a browser-based renderer (such as your IDE’s Markdown support or this forum’s post preview – though make sure to delete the contents after on that last one!) and then copying and pasting the rendered text into the WYSIWYG editor.

I’ve also blanked all the WYSIWYG field of all the imported notes, since it looks like @Agrendalath moved his relevant ones over and the rest would have contained garbage from the import. If you had managed to edit/fill something in this field for an imported note over the last day or so, sorry about that! You’ll need to make your change again. From this point forward, if I have to re-run the import script for some reason, I’ll only be targeting the non-formatted field.

If all else fails, there is a full export of Monday’s data on drive.

Gotcha. This will probably need to be investigated in a follow-up task, since it will probably involve customizing how the deployment works-- this is deployed on Kubernetes via helm, but apparently customizing the CSS in a persistent matter requires adding some files. Unlike WordPress, SuiteCRM does not have a built-in plugin manager/installer, so we can’t just pull a CSS modification plugin from the net. Searching ‘css’ on their plugins page doesn’t yield anything, either.

Alternatively we could force it via browser extension. But that’s not elegant. In any case, I’ve created a ticket for the work to change the CSS and put it under the automation account since I don’t think it needs to fit under the migration’s scope. I’ve assigned it tentatively to @demid since it’s something that, if it has to be delayed for a while due to the ongoing conflict, it won’t cause problems. However feel free to reassign as needed. :slight_smile:

1 Like

That’s not a big deal to me - I’m not doing anything fancy in my notes, so keeping them in the WYSIWYG field sounds good. Thanks for looking into this, though!

Yep, I had been using this approach for Monday when we started using it. IMHO, it’s good enough for this use case.

This is not automation, so I don’t think the Automation epic is suitable. As this is a CRM, it looks like a STAR or MNG ticket (or a part of some management epic).

I’m not sure which epic/account it would best be under, then. @gabriel Suggestions?

Alternatively we could just do a recommendation based on the browser extension as mentioned earlier:

Which extenstion were you using? I know GreaseMonkey/TamperMonkey used to be used for this kinda thing-- or at least for JS overloading, not sure about CSS.

There are extensions like Stylus, but I’m not a fan of them, as my use cases are not that sophisticated. I have the following rules in ~/.mozilla/firefox/<default_profile>/chrome/userContent.css:

@-moz-document domain(opencraft.monday.com) {
    .redactor-styles.redactor-in { max-height: unset !important; }

@-moz-document domain(crm.opencraft.com) {
    iframe#note_c, .tox.tox-tinymce { height: 4000px !important; }

In fact, GreaseMonkey/TamperMonkey could be better for SuiteCRM, as it’s easier to resize an iframe vertically to 100% with jQuery than CSS. I didn’t dig into this, as the hack above is good enough for me.

Developing the CRM sounds like working on other internal infra, so this looks like a DevOps-y ticket to me. @tikr how would you categorize this, and what account would you use?

Based on the description of BB-6982, going with SE-4988 / OpenCraft - Instances DevOps would probably be an OK fit.

Alternatively (and this is what came to mind first), STAR-2904 / OpenCraft - Sales Management would also be an option: The ticket was created in the context of migrating from monday.com to Listaflow, and the CRM’s primary raison d’être is sales management.