How_to_make_a_Product_Detail_mandatory_in_Leads
Sales_Creatio
8.0

Hi Community,

I am trying to implement a requirement in the Lead Section where the Product Detail (list) must be mandatory. If the list is empty, the user should be prevented from saving the Lead or moving forward.

I am trying to achieve this via Business Processes/Business Rules.

What I've tried: I attempted a Business Process triggered by a Lead Signal to show a dialogue box/Pre-configured page.

My Questions:

  1. Is there a way to use Business Rules to validate if a Detail (List) has at least one record?
  2. Is there a "Pro" no-code workaround to block the "Save" button if the product list is empty?

Any advice on the best architecture for this (DCM vs. Process vs. Hidden Validation Fields) would be greatly appreciated!

Like 1

Like

1 comments

Hi Nikita,

If you're trying to enforce this validation while the Lead is still in Add mode (new record), there is an important limitation to consider: the user cannot add records into the Product Detail until the main Lead record has been saved at least once. Because of this, making the detail mandatory on the initial save would prevent the user from ever creating the Lead.

If the requirement is instead tied to a specific stage or status transition, a better approach would be to override the save logic (for example using a crt.SaveRecordRequest handler in Freedom UI) and validate whether the Product Detail contains at least one record before allowing the save or stage movement.

Business Rules themselves cannot directly validate whether a Detail/List contains records. A common approach is:

  • Use client-side validation in the save request handler, or
  • Maintain a hidden boolean/count field updated via Business Process and validate against that field.
Show all comments
Freedom_UI
FreedomUI
printables
reports
Report_data
Report_Tables
Report_List
Report_Form
details
Sales_Creatio
8.0


How can we recreate the printable pages configuration in Freedom UI (/0/ClientApp/#/Printables), including the report data setup (retrieving entity columns) and the report table detail configuration?

Like 0

Like

1 comments

Good afternoon,

Thank you for your question.

At the moment, it is not possible to configure a Reports page in Freedom UI using out-of-the-box tools. To recreate this functionality in Freedom UI, custom development would be required.

We have already submitted an idea to the R&D team to consider moving the Reports page to Freedom UI in future releases.

We recommend keeping an eye on the Release Notes and Changelogs in Creatio Academy for any updates.

Thank you for your understanding.

Show all comments
How_to_create_Lead_from_incoming_Email
Sales_Creatio
8.0

Hi,

I’m working on an automation where a Lead is created from an incoming email using the Activity object. I referred to this thread for guidance:
https://community.creatio.com/questions/how-get-email-email-message-object

The setup is partially working, but I’m facing a couple of issues:

  1. Cases are also getting created automatically along with Leads, which is not required in my scenario, Is it because of the List of Mailboxes for Case Registration.
  2. When there is a reply to an email (e.g., subject starting with Re:), the system is creating duplicate Leads with names like Re: Lead Name.

Requirement:

  • Only one Lead should be created per incoming email
  • No Case should be created
  • Email replies should not create duplicate Leads

Questions:

  • How can I disable automatic Case creation from incoming emails?
  • What is the best way to prevent Lead creation for reply emails (Re:, Fwd:)?
  • Is there a recommended approach (filters, business process conditions, or object-level logic) to handle this cleanly?

Any guidance or best practices would be really helpful.

Thanks in advance!

Like 1

Like

1 comments

Hello,

1. Case creation
Most likely, the Case is being created because the mailbox is configured in the list of mailboxes used for case registration.

To prevent Cases from being created from this mailbox, you may use one of the following options:

  • Remove this mailbox from the corresponding lookup used for case registration.
  • Remove the service license from the mailbox owner. In this case, Cases will no longer be created for this mailbox.

2. Preventing duplicate Lead creation
Creatio email threading data includes fields such as MessageId, InReplyTo, and ParentMessageId in EmailMessageData. The MessageId and InReplyTo fields are populated from the email headers during synchronization.

To avoid creating duplicate Leads, we kindly recommend configuring your process so that a Lead is created only when all of the following conditions are met:

Activity type = Email
Mailbox = your mailbox
Subject does not start with Re:, RE:, Fwd:, FW:, or Fw:
InReplyTo is empty
ParentMessageId is empty

This approach should help ensure that Leads are created only from new incoming emails and not from replies or forwarded messages that are part of an existing email thread.

Show all comments
account
Contact
Activity
Email
Sales_Creatio
8.0

Dear,

On the email page, I added a button that displays a modal window via a process and shows the account's contacts.

Button

This is to allow users to select contacts from the account and add them as recipients to email activities.

Select contacts

But when you click the "add contacts" button, the contacts are not added to the "to" field of the email.
Here is the process:

Process

I tried adding an action to modify the activity and add the selected contacts, but I don't see how to retrieve the list of contacts selected by the user.

Has anyone ever successfully performed this operation ?

Thank you !
Nicolas

Like 1

Like

2 comments

Hello,
Most likely, the participants weren't added because your email was in the "New" state, meaning it wasn't created and still does not have a dedicated ID. In order to connect a contact to an email, an ActivityId should be present.
To make this work, you would need to ensure either that:
- the email activity is already created
- the logic of adding recipients is executed after the record is saved

LÉZORAY Nicolas, you have to read selected rows depending selection state from datagrid on the your modal page. and then fill outbound parameter on the page. then process this collection in process. or process selected contacts (emails) on the modal page and update Activity.To there.

Show all comments
##Package
cyclicdependencies
ApplicationHub
objects
Sales_Creatio

Hello Everyone,

I am currently developing a new application called "Ticket Management" (mygTicketManagement). Ticket Management depend only on the Customer 360 package (UsrCrtCustomer360App) to access Account and Contact data.

However, after checking the Package Dependencies, I found an unexpected hierarchy (as shown in the attached screenshots):

  1. The Issue: My mygTicketManagement package is being depended on by UsrCrtLeadOppMgmtApp.
  2. The Confusion: I am not sure how this relationship was established.

My specific questions are:

  • Trigger: Does adding a Data Source (Object) from another package within the Freedom UI Designer automatically prompt or create these package dependencies?
  • Validation: Is it a best practice to have a linear dependency (e.g., Customer360 -> LeadOpp -> Ticket)? I am concerned about accidentally creating a Circular Dependency which might block future deployments or compilations.
  • Cleanup: If I realized a dependency was added by mistake (e.g., Ticket depending on LeadOpp), what is the safest way to remove it without breaking the UI pages that might have "peeked" at those objects?

    Current Environment: Creatio 8.3.3 (Freedom UI)

    Any guidance on how to maintain a clean package structure and prevent "spaghetti dependencies" during UI configuration would be greatly appreciated!

    Thank you!
     

Like 0

Like

2 comments

Hello,

Thank you for the detailed explanation and screenshots.

Based on the provided screenshots, I would like to clarify the dependency direction first.

In Creatio, the Depends on Packages section shows the packages that the current package requires. The Dependent Packages section shows the reverse relation — packages that currently depend on the selected package.

According to the screenshots:

mygTicketManagement depends on:
- CrtCore
- UsrCrtCustomer360App_gc1j3ru

UsrCrtLeadOppMgmtApp_rjd5oep depends on:
- several Lead/Opportunity/Customer 360 related packages
- UsrCrtCustomer360App_gc1j3ru
- UsrCrtProductivityApp_6xzsf6
- mygTicketManagement

Therefore, the current dependency chain appears to be:
UsrCrtLeadOppMgmtApp_rjd5oep → mygTicketManagement → UsrCrtCustomer360App_gc1j3ru

From the screenshots, there is no direct circular dependency between mygTicketManagement and UsrCrtLeadOppMgmtApp_rjd5oep, because mygTicketManagement does not depend on UsrCrtLeadOppMgmtApp_rjd5oep.

Regarding your questions:

Can Freedom UI Designer create package dependencies automatically? 
Yes, dependencies can be added when configuration elements in one package reference elements from another package. For example, this may happen when a page, section, business process, object, lookup, data source, or other schema stored in one package uses an object or component from another package.

So if a page or configuration element from UsrCrtLeadOppMgmtApp_rjd5oep references an object, page, detail, lookup, or schema from mygTicketManagement, Creatio may require this package dependency to ensure the correct installation and compilation order.

Is a linear dependency structure a best practice?
A controlled layered structure is recommended, but feature packages should not depend on each other unless this is intentional.

A clean structure would usually look like this: 
Base / Core packages → Shared application packages → Feature packages

For example: CrtCore → Customer360 → TicketManagement

This is acceptable if Ticket Management really uses Account and Contact data from Customer 360.

The recommended structure in your case would be: UsrCrtCustomer360App_gc1j3ru -> mygTicketManagement

And UsrCrtLeadOppMgmtApp_rjd5oep should depend on mygTicketManagement only if Lead/Opportunity functionality intentionally uses Ticket Management components.

At this stage, based on the screenshots, there is no confirmed circular dependency. The main recommendation is to investigate why UsrCrtLeadOppMgmtApp_rjd5oep has a dependency on mygTicketManagement and remove it only after confirming that no active configuration elements still reference Ticket Management components.

Phanumas Liawsakulaphichai,

By default, Creatio now determines which package to save a Freedom UI page into based on the object hierarchy. If you want to force Creatio to use your "Current Package" system setting instead, follow these steps:

1. Access Feature Toggling

Navigate to the feature management page by appending one of these to your Creatio URL:

  • /0/flags (Fastest)
  • /0/Shell/#Section/AppFeature_ListPage (Freedom UI)

2. Disable the Logic

Locate the following feature code: if not create

Feature-UseSchemaDesignPackageUIdByHierarchy

  • Action: Toggle OFF both "Is enabled" and "Is enabled for current user."
  • Finalize: Click the Clear cache button.

3. Expected Behavior

Once disabled, the editor will respect your Current Package system setting.

Note: The system will still prioritize a specific package if you:

  • Open the page directly from the Application Hub.
  • Open the page from a specific package within Configuration.

 

Best,
Bala.

Show all comments

Hello Community,

I’m working on a Creatio Cloud instance (version 8.1.3.3193) and have encountered a challenge with a user-made package.

The Situation:

  • I have a user-made package that contains replacing objects for Account and Contact (from the Customer360 app).
  • The package was created directly in this environment (not installed via .zip or SVN).
  • This package was previously open, but has suddenly changed to a locked status. Despite the lock icon, I am still able to modify and save schemas inside it.

My Questions:

  1. Will this "locked" status cause errors when transferring the package to Production via .zip export or the Assembly process? or it cannot be trasferred?
  2. What is the best way to remove this lock?
  3. If unlocking isn't possible, should I create a new package that depends on this locked one and try to replace the objects again? I'm concerned that a "replacement of a replacement" might cause issues with the core Customer360 functionality.

Thank you for your guidance!

Like 0

Like

2 comments

Hello.

If the package icon is greyed out - , this means that the package is locked.

This can occur if the package was installed on your site or if the package Maintainer differs from the value specified in the Publisher system setting.

At the same time, this does not mean that the package cannot be installed on another site. If the states of the environments are aligned, you can export the package and install it on another site. Please note that in this case the package will also be installed as locked.

There are two options to unlock the package, temporary and permanent.

To remove the lock, you can either use the Unlock for hotfix action to unlock the package temporarily
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/delivery/hotfix-mode , or create a ticket for the support team to unlock the package permanently.

If your package has a lock icon next to it but the package icon itself is yellow , this means that the package is unlocked for changes but locked in SVN.

You can find more information regarding this behavior in the following article.

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/creatio-ide/operations-with-packages#title-15340-9

Best regards,
Antonii.

Antonii Viazovskyi,

Thank you

Show all comments
TimeLine
actions
Sales_Creatio
8.0

How can I add a Delete custom action in a Timeline, when showing Emails? 

Like 0

Like

1 comments

Hi Ignacio Alvarez,

It is not possible to add a custom action to the Timeline component. It is generated dynamically in the application core based on the activity type, and its behavior is hardcoded.

Show all comments

Dear Community,
I need help with a business process.

In an activity, the start date and departure date are populated. 

However, if the departure date is later than the start date, the departure date field should be cleared.

How should I write the formula to clear the contents of the departure date field?

 

 

 

Thank you in advance.

Best regards

Like 0

Like

3 comments

Hi, you can clear DateTime values by setting them to: null

Hubert Pacia,

or you can create a date parameter and leave the value empty. Then use that parameter to populate your date field

Hubert Pacia,

Thank you for help, it works :-)

Show all comments
Data_warehouse
Creatio_db
Sales_Creatio
8.0

Hello community,

We are now considering our internal data warehouse construction for reporting purposes and needing a capability to export large amounts of data from Creatio in a fully automated way.

Is there an option to connect directly to Creatio db using some ETL tools like MS SSIS or Azure Data Factory?

If no, what type of API could be recommended for such a purpose? Are there some recommendations or best practices based on vendor's or partners' experience?  

Like 1

Like

3 comments

Hello,

colleagues from Creatio, could you please, share your thoghts?

We use Starfish for this (Starfish ETL | Creatio Marketplace) as there is not direct way other then the API to get data out. I have asked many times to be able to Sync the DB directly, but there is no Option. Starfish works well

Hello,
Currently, you have two options accessing the DB:
1) Using marketplace apps like Starfish
2) Writing direct SQL commands in your code
https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

Show all comments
Case_Assignment_Based_on_BU
Sales_Creatio
8.0

Subject: Case Assignment Based on SBU

Hi Team,

I have a requirement in the Cases section where the assignees should be determined based on BU.

For example, if a Case is associated with an BU like ABC, then only the users mapped to that specific BU should be available or assigned to the Case. The idea is to ensure that assignment visibility and ownership are restricted and aligned with the respective SBU structure.

Has anyone implemented a similar use case or can suggest the best approach (Business Rules, or any configuration)?

Any guidance would be appreciated.

Thanks in advance!

Like 0

Like

1 comments

Hello,

You can use an Organizational role, add users to that role, and then use the Case page logic to limit who can be selected in Assignee field. 

For the page behavior itself, Creatio supports filtering lookup values with business rules. Here is the instruction: https://academy.creatio.com/docs/8.x/no-code-customization/customization-tools/ui-and-business-logic-customization/freedom-ui-business-rules#2416-4-5

You may also create a business process that is triggered when a case is created. This process can retrieve the required information, including the value of the BU field, and automatically assign the appropriate Assignee based on the corresponding role.

Show all comments