custom
remote_module
Studio_Creatio
8.0

Hello,

I am developing a custom component using remote module. I want to know how we can catch component drop event and delete/remove events.

When my component is being dropped in a form page in Freedom UI designer I want to execute some code also when the component is removed.

any events in @creatio-devkit/common?

Like 0

Like

4 comments

Hello,
If I'm not mistaken, you need to look at the page destroy event, if so it is a request crt.HandleViewModelDestroyRequest.

Dmytro Vovchenko,

I am not looking for a page destroy event.. I am developing a custom component. When developers drag and drop this component in their pages in freedom UI designer I want to perform few actions.. 

In that case, I truly do not understand your business-task, what kind of action you want to add while developers adding a component to designer? When you want to delete/add specific logic in the page when the custom component is added while the developers is still in the designer, isn't it better to do it manually instead of writing some automatic?

Dmytro Vovchenko,

I want to know to which page my component is added. I want to save that information in the backend also clear it from the backend when the component is removed from the page..

Show all comments

Hi, I am new to Creatio, now I am trying to debug the code I wrote in a business process as I see a problem in the logs I have written in the code, I attach the file to the service, restart Creatio application, then this error is thrown

 

I am using redis on docker version 6.2.13

and this is my code for the BP

private bool ScriptTask1Execute(ProcessExecutingContext context) {
    ILog logger = LogManager.GetLogger("TestLog");
    
    var list = Get>("ReadDataUserTask1.ResultCompositeObjectList");
    
    foreach (ICompositeObject item in list) {
        if (item.TryGetValue("Price", out string price)) 
        {
            logger.Info($"price acquired: {price}");
        }
        
        if (item.TryGetValue("City", out string city)){
           logger.Info($"city acquired: {city.ToString()}");
        }
        
        logger.Info($"Processing record - City: {city}, Price: {price}");
    
    }
    
    return true;
}
 

Like 0

Like

1 comments

Hello,

The error "Cannot use type 'StackExchange.Redis.RawResult'. Only value types without pointers or references are supported" occurs because the Get method is returning a type that is not directly compatible with the expected type in your code. Specifically, the Get method is likely returning a StackExchange.Redis.RawResult or a similar type, which cannot be directly used in the context of your script.
To fix this issue, you need to ensure that the Get method returns a type that can be processed in your script.
In order to fix this issue you should:
1. Check the Return Type of Get Method

  • Verify what type the Get method is returning. It seems that the Get method is returning a StackExchange.Redis.RawResult or another incompatible type.
  • If the Get method is returning raw data, you need to deserialize or convert it into a compatible type, such as a list of ICompositeObject.

2. Deserialize or convert the data

  • If the data returned by Get is in a serialized format (e.g., JSON), you need to deserialize it into a list of ICompositeObject.
  • Use a deserialization library like Newtonsoft.Json or System.Text.Json to convert the raw data into the desired type.
Show all comments

Hello,

 

I have recently started working in Creatio using the tutorials and articles published on the official account, but since they switched to the new Freedom UI a lot of the older tutorials are outdated. It might seem a little bit silly, but I would like help in adding columns in the accounts app. I try uploading information, but it doesn't match the columns and I don't have enough options to choose from their basic ones. Could anyone give me a detailed explanation? Most of the articles is just general information.

Like 0

Like

4 comments

Hello,

Here’s a step-by-step explanation for your case with the Accounts section and importing data.

Why you see "Select column" and no matches:
This happens because the fields (like "Companie", "Email", etc.) from your import file don’t currently exist or are not exposed in the Account object model or page layout in Freedom UI.

What to do: Add fields properly in Freedom UI
Open Application Hub in Creatio (top-right grid icon → App).

Open your app where Accounts is located.

Click the “…” (three dots) next to the "Accounts" section → Edit page.

Use the Page Designer (Freedom UI Designer) to:

Add missing fields to the page.

Or use "Add field" to create new custom fields if needed (e.g. “Contact Email”).

Save and publish the page.

This ensures those fields appear in both:

the page layout (for viewing/editing),

and the import mapping dialog (so the system can match your columns).

After that, re-import your file
Go to Accounts → Actions → Import from Excel.

The column headers should now match or allow proper selection.

Map the fields manually if not matched automatically.

Tip:
If you're importing often, try naming your column headers exactly like the field captions used in the system. This helps Creatio match them automatically.

 

Have a nice day!

Valeriia Hromova,

Thank you very much Valeria! This was the first helpful piece of advice I have gotten. Could you please attach a screenshot of how the field should be introduced to make it look normal? Usually when I add fields they just mess up the page and take a lot of space for some reason... I want to add them specifically  in this spot so I can add the information among the already existing columns.

Jim Smith,

Hi Jim,

I may have overcomplicated things a bit in my previous message, so let me share the simplest hack  for working with import/export in Creatio — especially useful when you're not sure how to match fields properly.

  1. Go to the Accounts section in Creatio.
  2. Use the search to filter just a few test records (e.g., add a quick filter like "Name = Test").
  3. Click  Actions → Export to Excel.

  4. Open the exported Excel file and clear all info except of headers.

 Now you have a ready-made template with all the correct column headers that match your system's fields.
You can fill in your own data into this table, save it, and then import it back via Actions → Import from Excel.

This way, Creatio will automatically recognize the fields during import, because the headers match exactly.

Let me know if you need help placing the new field in a specific spot on the page layout.

Valeriia Hromova,

Very well explained. The problem is, I wish to add information that doesn't match the pre-existing columns in the system. For example, I want to show the price of a certain product per piece with/without tax, right next to the other information of an account. My boss considered this the most efficient way to store information, instead of having to transfer it over different apps. Could you assist me with adding new columns in the system? If that is possible at all. Just like you showed me in the screenshot, there are different columns, like Name, Primary contact, Type etc. I wish to add/rename them to match the information I wish to store (like price with VAT, quantity) but in a way so it wouldn't interfere with how the already existing columns work. Let's say the "type" column. You can't type anything in it, it uses a lookup (A,B,C) , giving you choices. All I want is to be able to import the information from excel, and as you can see, create columns that match that information.

Show all comments

Hi;
I have a process with Open edit page element.
it's set as 
Complete conditions

I change the status and run save() method.
It works properly
but when i run 
save (isSilent: true, callback: function() {method()})
in 7.17it works but after migration to 8.21
it save the record run callback function but do not move the process forward

Have you any idea what can goes wrong.

Regard

Tomek
 

Like 0

Like

1 comments

Hello!

Based on your description, it seems the issue may be related to changes in the behavior of the save() method between versions 7.17 and 8.21. To assist you further, please verify the following:

1. Ensure that the Open edit page element in your process is configured correctly and that the process logic after the save() method is properly defined (including call parent logic)
2. Check if there are any errors in the browser console or application logs when the process does not move forward after the save() method is executed.
3. Confirm whether the issue occurs consistently or only under specific conditions.

 

Show all comments
bpm. processes
script task
Studio_Creatio
8.0

Hello,

I am trying to invoke a business process from C# script. Below is my code, 

ProcessSchema schema = UserConnection.ProcessSchemaManager.GetInstanceByName("Cw AI Process");

Process process = schema.CreateProcess(UserConnection);
process.SetPropertyValue("RecordId", Guid.Parse("e308b781-3c5b-4ecb-89ef-5c1ed4da488e"));
process.SetPropertyValue("RecordType", "Account");
process.Execute(UserConnection);
var result = process.GetPropertyValue("OutputVar");

 

And this is the error I am seeing. Both RecordId and RecordType are input parameters of the business process.

Property "RecordId" is missing in type "ProcessComponentSet".

Like 0

Like

3 comments

Hi,

 

You will find it in academy : https://academy.creatio.com/docs/developer/integrations_and_api/busines…

or do something like this : 

			var uc = Get<UserConnection>("UserConnection");
 
			var parameters = new Dictionary<string, string>() {
				{"vExerciceUsager", ExerciceUsagerId.ToString()},
				{"vRegleCalcul", RegleCalculId.ToString()},
				{"vBloc", BlocId.ToString()}
			};
 
			IProcessExecutor processExecutor = uc.ProcessEngine.ProcessExecutor;
			processExecutor.Execute(ProcessSchemaUId, parameters);
			return true;

 

Jerome BERGES,

Thank you I got that..
I have a question.. How do I read the value from output parameter.. Below is my code.. am I missing something?

UserConnection userConnection = UserConnection;
IProcessExecutor processExecutor = userConnection.ProcessEngine.ProcessExecutor;
/* Collection of incoming parameters.*/
var inputParameters = new Dictionary<string, string> {
   ["RecordId"] = "ecb-89ef-5c1ed4da488e",
   ["RecordType"] = "Account"
}; 
/* Collection of outgoing parameters.*/
var resultParameterNames = new string[] { 
   "strValue",
};
string processSchemaName = "UsrProcess_6ff6f";
/* Runs the process via the schema name using transferred incoming and received outgoing parameters.*/
ProcessDescriptor processDescriptor = processExecutor.Execute(processSchemaName, inputParameters, resultParameterNames);
string AiResponseValue = processDescriptor.ResultParameterValues["strValue"];


return true;

I never done this with output parameters, but it may be that your process is in background mode (which is not allowed), or your parameter is not of type "Output"

Show all comments

Hi Everyone,

I have a List page connected to my page-level data source. Each of these records also has related entries in the SocialMessage table, which stores comments and likes for my records. I want to show Number of Likes count and Number of Comments count on my List view, alongside fields from the main datasource object.

In Freedom UI, the list view is typically bound to a single data source, and while I can fetch and display these additional related columns via Model.load on the Form page (as labels, after the record is opened), How to integrate these related fields from other tables into my List page layout, so they can appear as columns with the rest of the fields.

The related column setting on the List page doesn't show the SocialMessage table to select those fields.  What is. Workaround for this?

Thanks in advance!

Ajay

Like 0

Like

1 comments

Hi!

Freedom UI List pages currently support only direct and related columns via the configured Data Source. Since the `SocialMessage` table is not directly related through standard relationships, it's not available in the “Related column” dropdown.

As a workaround, you can:
- Add virtual columns (e.g., `LikeCount`, `CommentCount`) to your Data Source schema.
- On the `List | onDataLoad` event, trigger a custom request for each record (or a bulk query) to retrieve the number of likes/comments from the `SocialMessage` table.
- Populate those virtual columns manually via script.

 

Show all comments

Hello everyone,

I am trying to implement a permissions model for a collaborative application in Freedom UI, where different users interact with a record based on their role as explained below -

  1. Author – The user who creates the record.
    • Can create new records.
    • Can edit all fields of the records they created, except some restricted fields.
  2. Reviewer – A special role that:
    • Can view all records
    • Can edit only specific fields like:
      • Review Comments (this field can only be modified by the Reviewer and not by the Author)
    • Cannot modify other fields (e.g., Title, Description).
  3. All other employees:
    • Can create new records (and thereby become a new Author).
    • Can view records created by others (including the fields updated by the Reviewer) but cannot edit other’s records.

 

 What I have tried so far

  1. Object Permissions:
    • Enabled Object-level permissions on the entity.
    • Gave All Employees role: Create and Read rights.

      A screenshot of a computer</p>
<p>AI-generated content may be incorrect.

       

  2. Column Permissions:

    • For restricted fields (Reviewer Comments), :
      • Gave “Permit Reading and Editing” permission to the Reviewer role
      • Gave “Permit Reading” to All Employees

        Column Permission Screenshot

     

  3. Record-Level Access via BPM:
    • Created a business process that:
      • Triggers when a record is created.
      • Reads the CreatedBy user.
      • Assigns Read and Edit rights using "Change Access Rights" → “For an employee”.
    • This was intended to ensure that Authors can edit their own records.

      Screenshot of Access rights on the record thru BPM

 

But the current outcome is that while users can create records successfully, they are unable to edit their own records afterward due to lack of permission.

Would appreciate any help on why the Authors are not able to update their own record.  I hope this is a valid scenario supported by Creatio. 

Also, this whole process seems to be a bit tedious. Is there a simpler way to achieve this using the no-code approach (without going into JavaScript coding to set the visible property based on roles)?

Thanks in advance for any insights!

Ajay

Like 0

Like

2 comments
Best reply

Hello,

Please note that the "Use operation permissions" dictates the main overall rights for the object. If you remove the "Edit" right there, you cannot provide this right in any other way.

In this case you need to enable the "Edit" right there and then customize the conditions in which the users will get these rights. This can be done both by the business processes and especially by the "Use record permissions" detail (which allows you to set specific rights to the records on creation).

Also, in order to be able to set different rights for different records, you need to enable the "Use record permissions" detail anyway (without it enabled, the records are supposed to have unified and the same rights). Please make sure this was done (you may also need to add some settings there depending on your business idea) and check the logic again.

Hello,

Please note that the "Use operation permissions" dictates the main overall rights for the object. If you remove the "Edit" right there, you cannot provide this right in any other way.

In this case you need to enable the "Edit" right there and then customize the conditions in which the users will get these rights. This can be done both by the business processes and especially by the "Use record permissions" detail (which allows you to set specific rights to the records on creation).

Also, in order to be able to set different rights for different records, you need to enable the "Use record permissions" detail anyway (without it enabled, the records are supposed to have unified and the same rights). Please make sure this was done (you may also need to add some settings there depending on your business idea) and check the logic again.

Thank you, Mira. 

I gave it the Edit permission at the object level and enabled the Record level permissions and now it works fine.  Object Permission Screenshot

Show all comments
exchangelistener
kubernetes
redis
Studio_Creatio
8.0

As the subject says, I'm curious if anyone has ever done this? We run several on-prem K8s clusters but are interested in moving the EL stuff into Azure.

Like 0

Like

1 comments

Hello!

Yes, Redis and the Exchange Listener (Email Listener) are fully compatible with Azure Kubernetes Service (AKS).

It’s important to ensure that:

  • Redis is properly configured — either as a containerized service in your cluster or using Azure Cache for Redis.
  • The Email Listener components (API and Worker) can access Redis — this may require configuring access rules, open ports, and setting the abortConnect=false parameter in the connection string to avoid failures on startup.
  • All pods use the same Redis host to keep subscriptions synchronized.

Once set up correctly, the listener works stably in AKS and supports scaling.

Show all comments
Studio_Creatio

Hi;
I read an element from Preconfigured.Page on script task

The default value of this element is take from reading Task
when reading task return an empty entity in one environment it return empty string in other the addres to reading element

Like 0

Like

3 comments

Hi!

Could you please advise how we can assist with this request?

Yelyzaveta Shchyrova,

Hi;
I think that there is some settings because in one environment when I read  attribute from preconfigured page it return an empty string in other it return address to reading task {TaskGuid}. {Table Guid}.{Column Guid}
In this case i solved it by function {Element} ?? string.Empty
but i don't now where such error could  appear.

Hello,

Can you provide screenshots with the configuration of each element involved in the behavior?

Thank you.

Show all comments
Copilot
configuration
Studio_Creatio
8.0

Hello,

I have contacted customer support to enable the AI on my local deployment. I have made all the changes as mentioned by the support.
 

I have enabled co-pilot features.

I have set the system settings - IdentityServerUrl, DefaultExternalAccessClientId, IdentityServerClientSecret, IdentityServerClientId, AccountEnrichmentServiceUrl with respective values..

But when I am trying to use the AI seeing below error in the network tab:
 

errorCode: "IncorrectConfiguration"

errorMessage: "IdentityServer auth failed with [BadRequest] invalid_client\n" 

Something is wrong in the configuration but not sure what's wrong.. Can anyone help debug and fix the issue.. TIA

Note: I have already reported this issue with support, not heard anything yet. As this is a blocker for me so posting it here in hope to get a solution.

Like 1

Like

4 comments

Hello Sagar!

Thank you for your post! We are already working on your case, which has been reported to our support team, and we will continue our communication in that case.

Have a great day!

Is there official documentation on the steps need to activate on-premise Creatio AI ?

Damien Collot,

No, we need to contact the customer support.

😕

Show all comments