AISkill
Studio_Creatio
8.0

Hi,

I have a requirement to use the files uploaded to an account record in an AI skill. I tried with multiple prompts but everytime it says no files are found for the account record. I even mentioned to get the files from AccountFile(that's where the files are being saved when uploading files using attachments section) but still no luck.

Has anyone tried this? I didn't find any documentation related to this.

Like 0

Like

5 comments

Here's the prompt I tried

Summarize the details of all documents attached to an account. The documents are retrieved using the account name from the AccountFile table. Include the document names, creation dates, last modified dates, and any available notes. Highlight any key differences or unique attributes of the documents.


## Process Flow
Process Flow Steps
1. Retrieve Documents:
Use the AccountFile table to search for documents associated with the account id.
Ensure all relevant document details, such as name, creation date, last modified date, and notes, are retrieved.
Analyze Document Data:

2. Extract key attributes of each document (e.g., name, timestamps, notes).
Identify any unique characteristics or differences between the documents.
Generate Summary:

3. Create a concise summary of the documents, including:
Document names.
Creation and last modified dates.
Notes or additional metadata.
Highlight any notable differences or unique attributes.
Present Results:

Provide the summarized details in a clear and structured format.
Ensure the output is user-friendly and easy to understand.

Below are the responses.

It seems there are no attachments currently available for the account "Our company". If you need assistance with uploading or managing attachments, feel free to ask!

I verified the account attachments by using the "Get Documents Content" function, which retrieves the available documents or attachments associated with the account. The result indicated that there are no attachments currently available for the account "Our company". If you need further assistance or want to upload attachments, let me know! 

Hi!

Thank you for your question. To make the AI Skill work with files attached to an Account record (via the AccountFile object), it’s not enough to simply refer to the file source in the prompt — this approach alone will not work.

Recommendation:
We suggest creating a dedicated action or business process that will pass the required files or their content to the AI Skill. Only this way can the AI effectively access and analyze the data.

We also recommend reviewing the following articles on the Creatio Academy:

Best practices for AI skill development

Creatio AI architecture

Thank you for contacting Creatio Support!

Valeriia Ripnevska,

Why is it that the out of the box AI Skill "Get Documents Content" is unable to see the documents? What specifically is that skill looking at?

Valeriia Ripnevska,

Thanks for the response. In that case I have to create a business process which will take the account id, get all the files, extract the content and refer that content in AI skill. 

It would be really helpful if you can suggest a way to extract the content from the file !

Ryan Farley

Its looking in the File table but its supposed to look in the AccountFile table in this case.. that link is missing.

Show all comments

Hi, 

I wrote a customer webservice and returning a simple string message (screenshot below). But customer don't like this page and want something like Thank you page or pop up. Can anyone suggest how to solve this?

Thanks in advance. 

Like 0

Like

1 comments
AISkill
bpm. processes
bpm
Studio_Creatio

Hello,

I am creating an AI Skill which will deal with the attachments of a record. I want to send the attachments content of a record(Ex: Account) to the skill. Is there support for this natively or I need to do it manually - like reading all the attachments of the record, extracting the content of each file using a third party library like iTextSharp, PdfSharp? 

there is a pre-configured skill available to work with documents - General document handling but its not able to identify the attachments in an account record.

Like 0

Like

1 comments
Best reply

Hello!

In Creatio, there isn't a native feature that directly sends the content of attachments from a record (e.g., Account) to a skill. However, you can achieve this functionality by leveraging the platform's capabilities and some customizations. Here's how you can approach it:

1. Native Support for Attachments
Creatio allows you to store and manage attachments in the "Attachments and Notes" detail of a record.
However, there is no out-of-the-box functionality to directly extract the content of these attachments and send it to a skill.
2. Using Pre-Configured Skills
The "General document handling" skill is designed for working with documents but may not automatically identify attachments in a specific record like an Account.
If this skill doesn't meet your requirements, you may need to customize or extend its functionality.
3. Custom Implementation
If you need to extract the content of attachments and send it to a skill, you can follow these steps:

Step 1: Retrieve Attachments Use Creatio's API or a custom process to retrieve the attachments associated with the record. This can be done by querying the "Attachments and Notes" detail for the specific record.

Step 2: Extract Content To extract the content of the attachments (e.g., PDF, Word, etc.), you will need to use third-party libraries like iTextSharp or PdfSharp for PDFs, or other libraries for different file types. This step will require custom development.

Step 3: Send Content to the Skill Once the content is extracted, you can send it to your custom AI skill for processing. This can be done by creating a custom integration or using Creatio's business process tools to pass the data.

4. Alternative Approach
If you want to avoid manual extraction and third-party libraries, you can:

Use an external service or API that specializes in document processing (e.g., Google Cloud Vision, Microsoft Cognitive Services).
Integrate this service with Creatio to handle the extraction and processing of attachment content.
5. Recommendation
If you frequently need to work with attachments and their content, consider creating a custom module or extending the existing "General document handling" skill to include functionality for identifying and processing attachments in specific records.
This approach will save time and effort in the long run and provide a seamless experience within Creatio.

Hello!

In Creatio, there isn't a native feature that directly sends the content of attachments from a record (e.g., Account) to a skill. However, you can achieve this functionality by leveraging the platform's capabilities and some customizations. Here's how you can approach it:

1. Native Support for Attachments
Creatio allows you to store and manage attachments in the "Attachments and Notes" detail of a record.
However, there is no out-of-the-box functionality to directly extract the content of these attachments and send it to a skill.
2. Using Pre-Configured Skills
The "General document handling" skill is designed for working with documents but may not automatically identify attachments in a specific record like an Account.
If this skill doesn't meet your requirements, you may need to customize or extend its functionality.
3. Custom Implementation
If you need to extract the content of attachments and send it to a skill, you can follow these steps:

Step 1: Retrieve Attachments Use Creatio's API or a custom process to retrieve the attachments associated with the record. This can be done by querying the "Attachments and Notes" detail for the specific record.

Step 2: Extract Content To extract the content of the attachments (e.g., PDF, Word, etc.), you will need to use third-party libraries like iTextSharp or PdfSharp for PDFs, or other libraries for different file types. This step will require custom development.

Step 3: Send Content to the Skill Once the content is extracted, you can send it to your custom AI skill for processing. This can be done by creating a custom integration or using Creatio's business process tools to pass the data.

4. Alternative Approach
If you want to avoid manual extraction and third-party libraries, you can:

Use an external service or API that specializes in document processing (e.g., Google Cloud Vision, Microsoft Cognitive Services).
Integrate this service with Creatio to handle the extraction and processing of attachment content.
5. Recommendation
If you frequently need to work with attachments and their content, consider creating a custom module or extending the existing "General document handling" skill to include functionality for identifying and processing attachments in specific records.
This approach will save time and effort in the long run and provide a seamless experience within Creatio.

Show all comments
script task
c#
folders
Business Process
Studio_Creatio
8.0

Hi all,

I have a process where a user selects a contact folder from a list on a preconfigured page. A sub process then needs to run for each contact in the selected folder.

I've read the article for Programmatically Using Section Folder Filters in Processes or Server-Side Code in Creatio | Customer FX and I have borrowed a script task for creating the list of contacts.

var sectionName = "Contact";
var folderId = "2d3c0306-1e43-4ba7-943b-a3d261b66897"; //I will pass this in from the preconfigured page

// get folder SearchData
var folderSchema = UserConnection.EntitySchemaManager.GetInstanceByName(sectionName + "Folder");
var esq = new EntitySchemaQuery(folderSchema);
var dataCol = esq.AddColumn("SearchData").Name;
var folderData = esq.GetEntity(UserConnection, folderId).GetBytesValue(dataCol);

// convert filter data to esq filters
var serializedFilters = System.Text.Encoding.UTF8.GetString(folderData, 0, folderData.Length);
var dataSourceFilters = Terrasoft.Common.Json.Json.Deserialize(serializedFilters);

// MUST INCLUDE using Terrasoft.Nui.ServiceModel.Extensions;
var folderFilters = dataSourceFilters.BuildEsqFilter(UserConnection.EntitySchemaManager.GetInstanceByName(sectionName).UId, UserConnection);

// now can include folderFilters as filters in new esq
var contactEsq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Contact");
contactEsq.AddColumn("Id");
contactEsq.Filters.Add(folderFilters); // using the filters from the folder
var contacts = contactEsq.GetEntityCollection(UserConnection);

I would like to either pass the results into a collection or run a sub process for each contact directly from the script task.

Any help would be much appreciated,

Like 0

Like

3 comments
Best reply

An easy way to accomplish what you're after is to: 

  1. Create a collection parameter in the process
  2. Populate the contacts from the ESQ into the collection parameter (see link below)
  3. Then use normal subprocess for each contact in the collection

See here for how to add the results of the ESQ from the folder to a collection param: https://customerfx.com/article/working-with-collection-parameters-in-a-process-in-creatio/

Ryan

An easy way to accomplish what you're after is to: 

  1. Create a collection parameter in the process
  2. Populate the contacts from the ESQ into the collection parameter (see link below)
  3. Then use normal subprocess for each contact in the collection

See here for how to add the results of the ESQ from the folder to a collection param: https://customerfx.com/article/working-with-collection-parameters-in-a-process-in-creatio/

Ryan

Ryan Farley,

Thanks Ryan. I'll give this a go now.

Ryan Farley,

I'm still struggling to get the result I'm after with the following code:

Parameters: 
- ContactFolderId (Guid)
- ContactsList (Collection)
    - ContactsList.ContactId
    - ContactsList.Name

var sectionName = "Contact";
var folderId = Get<Guid>("CommunityFolderId"); //"2d3c0306-1e43-4ba7-943b-a3d261b66897";

	var folderSchema = UserConnection.EntitySchemaManager.GetInstanceByName(sectionName + "Folder");
	var esq = new EntitySchemaQuery(folderSchema);
	var dataCol = esq.AddColumn("SearchData").Name;

	var folderEntity = esq.GetEntity(UserConnection, folderId);
	var folderData = folderEntity.GetBytesValue(dataCol);

	var serializedFilters = System.Text.Encoding.UTF8.GetString(folderData, 0, folderData.Length);
	var dataSourceFilters = Terrasoft.Common.Json.Json.Deserialize<Terrasoft.Nui.ServiceModel.DataContract.Filters>(serializedFilters);

	var folderFilters = dataSourceFilters.BuildEsqFilter(
		UserConnection.EntitySchemaManager.GetInstanceByName(sectionName).UId,
		UserConnection
	);

	var contactEsq = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Contact");
	contactEsq.AddColumn("Id");
	contactEsq.AddColumn("Name");
	contactEsq.Filters.Add(folderFilters);

	var contacts = contactEsq.GetEntityCollection(UserConnection);

	var list = Get<CompositeObjectList<CompositeObject>>("ContactsList");

	foreach (var contact in contacts)
	{
		var item = new CompositeObject();
		item["ContactId"] = contact.GetTypedColumnValue<string>("Id");
		item["Name"] = contact.GetTypedColumnValue<string>("Name");
		list.Add(item);
	}
return true;

When I run the process (passing 2d3c0306-1e43-4ba7-943b-a3d261b66897 into the ContactFolderId parameter, I'm getting an error saying:


Terrasoft.Common.ItemNotFoundException: Value "Id" was not found.
  at Terrasoft.Core.Entities.EntityColumnValueCollection.GetByName(String name)
  at Terrasoft.Core.Entities.Entity.InternalGetColumnValue(String valueName)
  at Terrasoft.Core.Entities.Entity.GetTypedColumnValue[TResult](String valueName)

I tried changing it to the following alternatives but I got the same error:

var item = new CompositeObject();
	item["ContactId"] = contact.GetTypedColumnValue<Guid>("Id");

and

var item = new CompositeObject();
	item["ContactId"] = contact.Get<Guid>("Id");

I feel like I'm missing something obvious somewhere.

Show all comments
3rd party packages
packages
Hierarchy
Studio_Creatio
8.0

Hello all,

I am repeatedly running into an issue where the Creatio Freedom UI page designer is showing a field under Data model attributes that is from a higher package in the hierarchy. The page I am working on does not depend on the page where the field is added but the page designer still thinks the field exists which is causing cyclical dependency errors every time I try to save the page even if I don't do anything to add the erroneous field to my page.

My page is properly placed in the lower package and connected with the version of the object within the same lower package. Why is Creatio disregarding my package structure and showing the field from a higher package? It's impossible to proceed when Creatio keeps making problems I'm trying to avoid.

Like 0

Like

1 comments

Hello,

 

The issue you are facing is related to how Creatio manages package dependencies automatically.

When you use elements from another package, Creatio adds dependencies which can sometimes lead to cyclic dependencies.

To resolve this:

-Review package dependencies - make sure your package does not depend (directly or indirectly) on a package that also depends on yours, creating a cycle.

-Adjust dependencies if needed - remove or rearrange package dependencies

-Verify current package setting - ensure you are working in the correct package and saving changes there.

-Refactor functionality if necessary — if the problematic field/functionality is not required in your package, consider moving it to a package where it won’t cause cycles.

Proper management of package dependencies and settings should help you avoid these cyclic dependency errors in Creatio.

Show all comments
businessProcess
Signal
summary
Studio_Creatio
8.0

I have a simple business process that calculates the Quote total by summing the Item Total field in the Quote Item records - as shown below:

 

This business process is triggered by three signal events: Quote item created, Quote Item modified, and Quote item deleted. The process works successfully when the quote item is added or deleted. The issue is when the Quote item is modified - specifically when I change the related Quote. 

While testing the business process, I changed the quote item's related Quote field from Quote 1 to Quote 2 and it updated Quote 2's total field; however, it did not update Quote 1's total field. I realize this is the case because the business process has no way of accessing the previous field value before it was modified. 

 



Is there a way to go around this or a way for a business process to see the previous values of a record before it was modified?

Like 0

Like

1 comments

Hello!

Unfortunately, there is no built-in functionality in the system to achieve this. We haven’t performed such tests or developed any custom code for this specific case.

It’s likely possible to implement a custom solution by creating a server-side event handler that processes records before they are updated (beforeUpdate). This way, you can compare the old and new values of the field and update the necessary data accordingly.

Regards,
Orkhan

Show all comments
web service
webservice
service
Studio_Creatio
8.0

Hi, I would like to know if there is a max amount of concurrent requests that Creatio is able to handle for custom web services defined in Creatio.

Is there any way to configure the max number of allowed concurrent requests to the same service on the technical user, the web service or the package containing the web service?

Like 0

Like

1 comments
Best reply

Hello,

There is no configurable maximum number of concurrent requests setting in Creatio for custom web services. The idea of a fixed limit isn't practical, because the performance impact of a request depends heavily on what the request actually does.

For example:

  • 1k lightweight requests that perform simple data retrieval or write operations may have minimal impact on the system.
  • Conversely, 1k complex or resource-intensive requests (e.g. involving multiple joins, integrations, or heavy business logic) could significantly degrade performance or cause failures under load.

Instead of a static limit, Creatio relies on the underlying infrastructure and available resources to dynamically manage the load. When system resources become constrained, the platform will naturally slow down or reject excess incoming requests to protect stability.

We recommend using a batching approach when integrating or calling custom services:

  • Start with batches of 2,000 to 20,000 requests, depending on the expected load per request.
  • Perform load testing to evaluate how the system responds. If the particular request is lightweight, you can safely increase the batch size.

This approach gives you flexibility and scalability without setting limits that may not reflect actual usage.

Hello,

There is no configurable maximum number of concurrent requests setting in Creatio for custom web services. The idea of a fixed limit isn't practical, because the performance impact of a request depends heavily on what the request actually does.

For example:

  • 1k lightweight requests that perform simple data retrieval or write operations may have minimal impact on the system.
  • Conversely, 1k complex or resource-intensive requests (e.g. involving multiple joins, integrations, or heavy business logic) could significantly degrade performance or cause failures under load.

Instead of a static limit, Creatio relies on the underlying infrastructure and available resources to dynamically manage the load. When system resources become constrained, the platform will naturally slow down or reject excess incoming requests to protect stability.

We recommend using a batching approach when integrating or calling custom services:

  • Start with batches of 2,000 to 20,000 requests, depending on the expected load per request.
  • Perform load testing to evaluate how the system responds. If the particular request is lightweight, you can safely increase the batch size.

This approach gives you flexibility and scalability without setting limits that may not reflect actual usage.

Show all comments
#workforceEngagement
Studio_Creatio
8.0

Hi Guys,
May I know in which Module the  "Workforce engagement management in Creatio" belong to? because i saw Creatio had a clip like this:

https://www.youtube.com/watch?v=G6cCMuJmSlg

Like 1

Like

1 comments

Hello,

The “Workforce Engagement Management” functionality you saw in the video is part of Service Creatio - the module responsible for case management, agent productivity, omnichannel communications, and workforce engagement features. 

 

“Workforce Engagement Management”  enables agents and supervisors to access and update workforce management data via telephone.

 

Have a nice day!

Show all comments
TimeLine
file
customobject
Studio_Creatio
8.0

Hello,

I am currently working on Integrating my Custom Object Data on Time Line tab in Contact form page, I have followed this link to accomplish this .


Now I want to show the file attachment preview or a downloadable link in the timeline tab.


This is what I have tried:

  1. In my first try, I tried to save the files in separate object and add that object as lookup field in my custom object.
    1. Result: It shows the name of file only in timeline object
  2. In my second try, I directly introduced  a file datatype field in my custom object,
    1. Result : It shows the raw file content in preview.

Also, How can we change the visibility of this field as I only want to show it if it has any value. I am using an online instance.

Can any one guide me on how to do this?

Thanks in advance for your support!!

Like 0

Like

1 comments
Best reply

Hello,

Thank you for your message.

At the moment, displaying file previews or downloadable file links directly within the Timeline tab is not supported out of the box in Creatio. This functionality might require additional custom development.

Hope this will answer all your questions!

 

Hello,

Thank you for your message.

At the moment, displaying file previews or downloadable file links directly within the Timeline tab is not supported out of the box in Creatio. This functionality might require additional custom development.

Hope this will answer all your questions!

 

Show all comments
Forecast
Studio_Creatio
8.0

Hi all,

I have a use case to create a salary benchmark report in our Creatio recruitment application, which shows what salary expectations our candidates had in a set period, structured with 

I store the salary expectation min. and max. on the Candidate's record, and I have an object called "Candidate's related fields", which consists of the main field (e.g. Software development), sub-field (e.g. .Net developer), and level of expertise (e.g. senior). One Candidate can have multiple related fields, and his/her salary expectation should be taken into account in all of them.

I was thinking about using the Forecast section to create a report that looks like the example in the following picture. I successfully created the frame (the "Candidate's related fields" being the Forecast object, the "Main field", "Sub-field", and "Level of expertise" being the 1-3 hierarchy levels.

I have issues with setting up the columns; it seems to me that the Forecast functions are not sufficient to fulfill what I want to achieve.

The main issue is, that the values are aggregated as I go upwards on the hierarchy levels, so the "Junior .Net software developer" row will have a sum of every individual row.

My question is, does anyone have any insight on whether this requirement can be met with Forecast? We have a few ideas about using auxiliary tables and business processes instead, but it would be great if it could be done very simply with Forecast.

Thanks in advance!

Like 0

Like

1 comments

Hello,
It is hard to understand how the forecast should be configured based only on the description of a desired result. Please take a look at the forecast documentation, perhaps there you will find what you need.
https://academy.creatio.com/docs/8.x/creatio-apps/products/sales-tools/…

Show all comments