Adding button in listview page

Hi all,
I have a custom module, i have done create my module. In Listview page, i want to print one or more record are selected by user.

But, I do not know why adding a button below delete action.
Please help me,

check out these posts:

I have followed step by step but it still is not work. I have not seen new action in bulk-action. Have you ever succeed with it?

Try this one

Part 1

Part 2

1 Like

Thank you very much. I have done create new action in bulk action in Listvew page.

In case anyone wants an easier solution for this topic, with other additional advantages, check out my add-on PowerWorkflows.

Let’s you easily add buttons in Detail views, List views and sub-panels. Each button can run an action that you set up from Workflows module, allowing all the possibilities it gives you - conditions, sequences of actions, drag and drop UI, etc.

Do you have any upcoming plans to make this viable for 8? I can definitely see value in this, but we can’t really downgrade at this point.


Yes, it has been long delayed but there have been some developments lately.

This week I got PowerWorkflows working on V8, legacy views, but the real challenge are the new Angular views (which make up some 80% of the CRM). The extension mechanisms are not fully documented so it’s really hard to make progress.

Eventually I will get it done, but at this point I don’t want to make any promises because SuiteCRM sponsorships are not paying my bills, so I have to focus on other projects, and that doesn’t leave me much time to invest in this.

Progress is progress in this game. Your contributions are generally pretty on point considering the various topics I’ve skimmed.

Is the version 8 for at least the PowerWorkflows stuff working with the adding icons for say notes etc to the accounts listview rows? I suppose I am not really sure what is legacy vs angular. I found this link highlighting the manual process, but I would be curious if there would be a more streamlined way. Is this something one can play around with as a subscriber or something? Not urgent by any means, and I am on 8.3 if that matters.

Currently I don’t have anything that I can send you for you to play with, because the code is not done yet and the packaging is very time-consuming, I will only do it in the end.

If you pay close attention to the UI visual details, you can spot which modules/views are legacy and which aren’t.

You can learn by seeing in this file which views apply, and then looking closely at the UI:

“index” and “list” I believe are the same thing - the list view.

“record” is the detail / edit view.

true means Angular, false means legacy.

HI @pgr
A question about your PowerWorkflows - the advantage of being able to trigger a workflow by the User clicking a button, is a clear advantage: yes I understand the User can decide when any Workflow runs due to the new button.

It is also powerful that the User can run for MANY records a workflow, with one button (after selecting which records by checkBoxes in Filter view)

One question - we have many Workflows that run ‘On Save’ that clean up the data users enter: eg for us they do things like

  • if the user entered 'A! ’ at the start of the Call name: change it to ‘A1’ ( which is what they mean to type (for our team, they use A1 in a call name to mean a certain type of priority call: and have Dashlet call-lists for them.

and for the common abbreviations we use to make it ‘less words to read for our busy, brain-busy’ staff,eg

  • Chief Technical Officer → change to → CTO

My question: those workflows that rewrite a field to ‘clean’ it. If using your button: will the user see the field change in the live page? If not ; should we leave those ‘clean up’ workflows to run as they do now; ie On Save


PS to anyone reading: yes we could use Logic Hooks and/or JS etc to do this ‘clean fields’ thing: but we love the fact that Power Users are in control of Workflows: they can add and change the Cleaning rules to suit the pattern of work their team wants: which changes quite often, as they work out time-saving things. So Workflows are for us very powerful. They save alot of time for users: and help keep data clean (which helps ensure that saved Filters and Reports are accurate too - which also helps users).

PPS -we even use Workflows to fix the spelling mistakes that certain users have a bad habit of making; in client surnames or company names!

1 Like

Hi @DJuser ! Thanks for your elaborate posts, I am currently not able to devote much time and attention to SuiteCRM, I’m busy with other things, but this kind of post gets me thinking and it’s always interesting to hear about real-world usage of SuiteCRM.

I’m afraid that Workflows are 100% a back-end thing in SuiteCRM. The most you can get (and my add-on facilitates that) is a UI action triggering a Workflow, but there are no front-end updates, and no return. Workflows are kind of like functions, but they never “return” any values (or errors…).

Some of the things you describe, I would rather implement them with my PowerFields add-on. This lets you use automations in any field, and the automation can use what you typed. So, for example, you can have field titled “decision” where people type pre-defined codes for the different possibilities, and the code picks that up and transforms the data, or runs small low-code scripts. These can be entered in the field definitions in Studio, so they don’t require code changes like logic hooks, and power users can tinker happily.

This is a different language from Workflows, a textual language, some people will prefer it, others will prefer the Workflows drop-downs, etc. But the possibilities are much larger, and the performance can also be vastly better. I wonder if you’re not starting to run into some performance problems with all the transformations you want your Workflows to do?

Anyway, I agree with you that seeing the change happen right there in the UI, in front of you, would be quite nice. I’d like to try and get that working some day. It will be easier to achieve with PowerFields. With PowerWorkflows, I don’t see any straight-forward way of knowing how the workflow would return the changed value… I would need a way to match the worklow actions to the fields on the screen. Not all Workflows change fields. And if they do, they change database fields, and not all database fields map directly to screen fields… so it quickly starts to get complex.


No so much performance problems - but the mental-effort gets higher to maintain the ~100 workflows we have now.

Working link