Other CRM's I've used have a bcc system email address that can be included in marketing emails sent from outside the CRM such that when those emails are sync'd to the CRM, the emails get connected to the right contact.

 

Does Creatio have a system email that can be included in these marketing emails so that they can be sync'd to contacts in the Creatio database? If so, where do I find that?

 

If not, does anyone have another suggestion? 

Like 0

Like

2 comments

Hello Mary, 



Unfortunately, there is no such functionality in our system due to the basic logic of the marketing emails. Please find more information here



Thank you!



Best regards,

Bogdan

OK, then is there a white paper or something that recommends how to attach emails sent from a 3rd party marketing mail platform to my creatio contacts?

Show all comments

Hello community,

 

We have a use case where a lead owner needs to perform certain approval tasks. The task can be approved or rejected. Is it possible to send an email to that contact with approved, rejected buttons and store the result of whichever button the email recipient clicked in creatio?



 

Like 0

Like

2 comments

Hello Shivani,



Unfortunately, it is impossible to implement your business task, as for now.



But we have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority.  



Best regards,

Bogdan

Bogdan,

Thank you Bogan. I was wondering if this could be replicated using OOTB Case feedback process which sends the satisfaction smilies. If we tried tot replicate this, would we require a SysPortal user license??

Show all comments

Hi Team,

 

We are trying to add new detail in a lead and post the lead is converted to opportunity, have written process to copy the values added in the lead detail to the created opportunity detail. The process is completed and there is no error and the value gets inserted into the DB but in the UI [filed] the value is empty/doesn't show up

 

Steps :

Created a new detail in the lead and have values of data type : date, float, integer.

 

Similar detail is created in opportunity also

 

In the lead, have filled the values for all the three data types and after converting the lead to opportunity.

Have written a process to map the detail value from lead to opportunity detail

Verified the DB, post the data insertion part. All the datatype value is correctly inserted.

 

But in the opportunity section, when we open the detail.  Values for data type float, integer is available but the value for date is missing?

 

Create instance being used is 7.15.1

Question : What could be the reason that a date value is present in the DB but doesn’t show up in the UI/front end.

Note : In both details, the data type is “Date” only

File attachments
Like 0

Like

1 comments

Hi Amritha, 



Such scenario works properly on newer OOB version of the application. 

Please check if there are any errors in the developers console when opening the page. 

I'd recommend you to update the application to the newest version. 

If the issue persists or the update is not an option for you please contact us at  support@creatio.com and provide us with access/ copy of the DB. 



Best regards,

Yurii

Show all comments

Dear,

I would like to export accounts from creatio with their last order number and the date of the order.

How can i do that ?

Thank you !

Nicolas

Like 0

Like

1 comments

Dear Nicolas,

 

Unfortunately, we do not have the base tools to achieve the described business task.



Best Regards,

Ivanna.

Show all comments

Hi, 



I updated the values of existing records of an OOB lookup and I want to bind them to my package. When trying to do that is showing me this error: 



 

How can we update already binded data with our new values? I'm having the same problem when trying to bind the columns of sectionlist of an OOB section. 

 

 

Creatio Version: SalesEnterprise_Marketing_ServiceEnterprise 7.18.2.1236

 

 

Like 0

Like

3 comments

Hello Javier,

 

Hope you're doing well.

It seems at the moment the only way to solve your business task is to create a separate SQL script that will transfer the required data:

Additionally, in general, there is a general recommendation not to consider the meaning of base values, but to add new ones to the reference and bind them to a custom package. This approach simplifies the transfer of data between environments and helps avoid the hassle after an upgrade or, for example, after re-installing the data bindings in the environment.

 

Best regards,

Roman

 

Hi Roman, 

 

The problem is that I can't bind the default columns of an OOB section, and that is something that I can't create a new record to fix it. 

 

There should be a easy way to bind configuration of the section grid, R&D should take a look at that. 

 

Best regards, 

 

Javier

Hello Javier,

 

Thank you for your reply. I will create a suggestion for our R&D team so they could implement the logic of binding system settings values and OOTB lookup values that are already bound to base packages in the next application releases.

Thank you for finding such a system behavior and helping us in making the application better!

 

Best regards,

Roman

Show all comments

I'm calling REST api of Contact ,Account and Case management for CRUD operation. I'm calling Creatio CRM REST from WSO2 EI. It is identical the Request which is send from the Postman or Rest Client.

But it gives 302 Status for WSO2 EI calling the  Creatio REST while it gives 403 for Postman or Restclient If BPMCSRF header doesn't contain cookie value.

 

If the BPMCSRF header value contains correct cookie value from the Login request, Postman or Restclient gives 201/200 for success operation and WSO2 EI gets same 302 response.  Login API call working fine from the WSO2 EI. 

 

Sample Request from WSO2 EI

"POST /0/odata/Account HTTP/1.1[\r][\n]"

"Accept: application/json;odata=verbose[\r][\n]"

"X-Requested-With: XMLHttpRequest[\r][\n]"

"ForceUseSession: true[\r][\n]"

"Content-Type: application/json[\r][\n]"

"Content-Length: 228[\r][\n]"

"Host: 103594-crm-bundle.creatio.com[\r][\n]"

"Connection: Keep-Alive[\r][\n]"

"User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"

"[\r][\n]"

"{"Name":"API Test","AccountId":"e6574af1-3e92-4099-958e-e798f52ee016","JobTitle":"Marketing manager","BirthDate":"0001-01-01T00:00:00Z","Phone":"","MobilePhone":"+1 213 566 34 22","Email":"test@gmail","Completeness":30,"Age":19}"

 

Sample Response from Creatio 

 

"HTTP/1.1 302 Found[\r][\n]"

"Server: nginx/1.14.1[\r][\n]"

"Date: Thu, 16 Sep 2021 06:21:05 GMT[\r][\n]"

"Content-Type: text/html; charset=utf-8[\r][\n]"

"Content-Length: 170[\r][\n]"

"Connection: keep-alive[\r][\n]"

"Cache-Control: private[\r][\n]"

"Location: /Login/NuiLogin.aspx?ReturnUrl=%2f0%2fodata%2fAccount[\r][\n]"

"X-AspNet-Version: 4.0.30319[\r][\n]"

"X-Powered-By: ASP.NET[\r][\n]"

"X-Frame-Options: SAMEORIGIN[\r][\n]"

"X-Content-Type-Options: nosniff[\r][\n]"

"[\r][\n]"

"Object moved[\r][\n]"

"

Object moved to here.

[\r][\n]"

"

.

Like 0

Like

7 comments

It means that you are not authenticated properly in the application (see location part  "/Login/NuiLogin.aspx?ReturnUrl=%2f0%2fodata%2fAccount", you were redirected to the login page). You need to check all the cookies that are passed to the OData request that you send and compare it with cookies you get in Postman + perform more tests to see which cookie set will result in a successful call.

Oscar Dylan,

If the authentication error, it should be 401 or 403 status. But here it is always redirect to login page with 302. verified the headers from Postman and client app both, those are identical. 

Anusha,

 

That is correct - the resource was found, but you need to authenticate first (once again, pay attention to the location path /Login/NuiLogin.aspx?ReturnUrl=%2f0%2fodata%2fAccount). The system automatically redirected you to the login location.

 In Postman you receive 200 OK to the request, but before it you receive 302 response (can check in the Postman console):

Hi Oscar,

 

Thank you very much for the information, but still I'm confused authentication approach. This is what I'm doing.

 

When I get 302 for Contact endpoint, then I perform the authentication to  auth endpoint  POST call <Creation-app-host>/ServiceModel/AuthService.svc/Login with the body [1]. Then I see cookies details in the response with BPMCSRF cookie with 200 response.  Then I send again the Contact endpoint with those auth cookies, [2]  are the headers which I send to Contact endpoint again. But still same 302 redirection is there even after successful authentication. 

 

Could you please help me on this.

--- does the above approach wrong

--- does the auth headers wrong mentioned in [2]

 

If above approach wrong, please help me to find request format from the client application to complete the successful Contact create through the  client.

 

[1] body

{

   "UserName":"xxxxxxxxx",
   "UserPassword":"xxxxxxx"
}

 

[2] . Headers

 

Accept: application/json;odata=verbose[\r][\n]"

"BPMCSRF: cvHrL0GEHYdswl1QZh8Ie.[\r][\n]"

"ForceUseSession: true[\r][\n]"

"Set-Cookie: .ASPXAUTH=F82E.... "

"Set-Cookie: BPMCSRF=cvHrL0GEHYdswl1QZh8Ie."

"Set-Cookie: BPMLOADER=zchmt5tlzildsx22zlle1wnk"

"Set-Cookie: UserName=93|117|112|101|114|118|105|115|101|114"

"Content-Type: application/json; charset=utf-8[\r][\n]"

"Content-Length: 228[\r][\n]"

"Host: 103594-crm-bundle.creatio.com[\r][\n]"

"Connection: Keep-Alive[\r][\n]"

"User-Agent: Synapse-PT-HttpComponents-NIO"

 

Hi Anusha,

 

Unfortunately you have to run test and find a way to pass the cookies to the request properly in terms of your integration. For example I have this cookie header in Postman:

 

BPMSESSIONID=xjjysy25na5ig5sqbgdyxd14; visid_incap_2180455=49BJJNmNT1uK2vo4spt1YM3yQWEAAAAAQUIPAAAAAAB7xEOk/CkixDKkf1pVpwRW; .ASPXAUTH=0129CAB95F4B3C753B6B00E3BBC7F15E9F0CF094A9209DCC541E033D963163699488F8A6AF3F3F845BABCA582CE603AD00E4AC3EE005216347F4B399235033BF60A3338158451099DEC44FE8B1920F57398E4439EE170B436C75FF3BA3BFC2C28BF8BCCB6D37261D9942F97133800DFEED491B8C8671824183CF9CD2CC20549B5BF672599D3F9CAD151E6F4C92A95C7FC888E4214039842D8B53E540D03495542D8C60B238BA9759FFAE27920E7688D35C92795D59741A8D0E5B34234C6DCC769F79A176BF63CCA190D0BEC19A8ACF3793A6522866BF14A14092474BBA68D100282CE8CB6DAB3C8041DB7544EABD759617446687311CE784129E88BE2558CE2917C790372F214D6E8D05B630B789F0D37E4EBB60E06A6B0C20FE075ED78960211A017F115D32F53B2D76E9B2AF302EC3887E47FE421CA76D246B0FCD8260B25380BED735F19C87C0545187841709C5A75B5547CDF43D52304C9D4760C8E625F7DA674A74; BPMCSRF=ulHtF40aiiRNzRWk5BMTWO; BPMLOADER=mnbxfikelfxqnnl2iz0aiobd; BPMSESSIONID=xjjysy25na5ig5sqbgdyxd14; UserName=83|117|112|101|114|118|105|115|111|114

 

And I guess all of them should be also passed to your request. This is not something that can be solved on the community, you need to test your integration authentication to find a correct way.

 

Also check if your authentication in terms of your integration is configured in the similar way to the one explained here.

Hi Oscar,

 

Thanks for the information. I will check further.

 

Thanks & Best Regards

Anusha

Show all comments

From the /ServiceModel/AuthService.svc/Login authorization API respond with 4 Set-Cookie headers in the response. But according to the spec [https://datatracker.ietf.org/doc/html/rfc6265#section-4.1] , "Servers SHOULD NOT include more than one Set-Cookie header field in the same response with the same cookie-name."  From the client application, it can't get the all 4 header values, only first one retrievable. Could you please give a fix or suitable workaround for this.

Like 0

Like

2 comments
Best reply

Hi Anusha, 

 

it's now allowed in HTTP/2 (https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.5), which specifies: 

 

8.1.2.5.  Compressing the Cookie Header Field
 
   The Cookie header field [COOKIE] uses a semi-colon (";") to delimit
   cookie-pairs (or "crumbs").  This header field doesn't follow the
   list construction rules in HTTP (see [RFC7230], Section 3.2.2), which
   prevents cookie-pairs from being separated into different name-value
   pairs.  This can significantly reduce compression efficiency as
   individual cookie-pairs are updated.
 
   To allow for better compression efficiency, the Cookie header field
   MAY be split into separate header fields, each with one or more
   cookie-pairs.  If there are multiple Cookie header fields after
   decompression, these MUST be concatenated into a single octet string
   using the two-octet delimiter of 0x3B, 0x20 (the ASCII string "; ")
   before being passed into a non-HTTP/2 context, such as an HTTP/1.1
   connection, or a generic HTTP server application.
 
   Therefore, the following two lists of Cookie header fields are
   semantically equivalent.
 
     cookie: a=b; c=d; e=f
 
     cookie: a=b
     cookie: c=d
     cookie: e=f

Please also check out this article:

 

https://datatracker.ietf.org/doc/html/rfc6265#page-7

 

Best Regards, 

 

Bogdan L.

 

Hi Anusha, 

 

it's now allowed in HTTP/2 (https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.5), which specifies: 

 

8.1.2.5.  Compressing the Cookie Header Field
 
   The Cookie header field [COOKIE] uses a semi-colon (";") to delimit
   cookie-pairs (or "crumbs").  This header field doesn't follow the
   list construction rules in HTTP (see [RFC7230], Section 3.2.2), which
   prevents cookie-pairs from being separated into different name-value
   pairs.  This can significantly reduce compression efficiency as
   individual cookie-pairs are updated.
 
   To allow for better compression efficiency, the Cookie header field
   MAY be split into separate header fields, each with one or more
   cookie-pairs.  If there are multiple Cookie header fields after
   decompression, these MUST be concatenated into a single octet string
   using the two-octet delimiter of 0x3B, 0x20 (the ASCII string "; ")
   before being passed into a non-HTTP/2 context, such as an HTTP/1.1
   connection, or a generic HTTP server application.
 
   Therefore, the following two lists of Cookie header fields are
   semantically equivalent.
 
     cookie: a=b; c=d; e=f
 
     cookie: a=b
     cookie: c=d
     cookie: e=f

Please also check out this article:

 

https://datatracker.ietf.org/doc/html/rfc6265#page-7

 

Best Regards, 

 

Bogdan L.

 

Bogdan Lesyk,

Thanks Bogdan. It was really helpfull, will check alternative way to process from the client API side.

Show all comments

Hi, community.

I have custom activity types besides the factory ones (Call, Email, etc):

 

 

But in the case manager of sections, when trying to set up activities tied to the stages, I can only see these:

 

 

Why can't I see my other activity types?

 

And also, how can I add the activity category field to this view? Or any other field, for that matter? Which schema must I modify and how?

 

Thank you!

Like 0

Like

1 comments

Hi Juan, 

 

"Tipos de actividades" I believe that's "Activity types", but the values you may choose in "Task category" ("Categoria de tarea") are fields from "Activity Category" lookup. 

 

So please add required values to this Lookup and you will be able to select them.

 

Best Regards, 

 

Bogdan L. 

Show all comments

Dear mates,

Can i close the opportunity page in a process  ?

When an opportunity is closed and won, an order page opens automatically.

As soon as the user save the order, the order page close and the user returns to the opportunity.

I would like he stays on the order when he save it and i would like to close the opportunity too.

How can i do this ?

Thank you

Nicolas

Like 0

Like

8 comments

Dear Nicolas,

 

As of now, this can be achieved only via development. You can find examples of this implementation on community: https://community.creatio.com/questions/how-stop-redirection-new-order-section-opportunity

https://community.creatio.com/questions/stay-child-record-while-creating-it-parent

 

Best regards,

Max.

Dear Max,

 

i override  the Save method and i modify my autosave method and it works fine i stay on the order where the order is saved.

 

But when i add a product to the order, the order is saved and it go back to the opportunity.

 

Do you know where the save method is call in this case ?

In my orderproduct detail, there is a save button:

 

Shall i override the save method of the orderproduct detail ?

 

Thank you !

Nicolas

 

 

LÉZORAY Nicolas,

 

Hi,

 

You will need to override the _navigateBack method (that is called by the afterSave method) of the ProductSelectionSchema schema. This method publishes the "BackHistoryState" message via sandbox and is responsible for pushing the user back in the history.

 

Best regards,

Oscar

Oscar Dylan,

Hi Oscar,

So i have to replace the ProductSelectionSchema.

In the documentation, i have to used "Replacing Client Module":

 

But i cann't find it in my system:

 

What must i used to replace ProductSelectionSchema ?

 

Thank you !

Nicolas

LÉZORAY Nicolas,

 

You need to use a replacing view model.

 

Best regards,

Oscar

Oscar Dylan,

Thank you Oscar,

 

i overrided the ProductSelectionSchema _navigateBack method.

i commented the line: this.sandbox.publish("BackHistoryState");

 

Now when i save the product in my orderproduct detail, i stay on the orderproduct selection page. how can i close the detail page to go back into the order ?

Oscar Dylan,

by overloading the _navigateBack method, I haven't found a way to close the product details page without the order also closing.

LÉZORAY Nicolas,

Override de productselectionschema:

 

            methods: {

                /**

                 * Additional processing after products saving.

                 * @protected

                 */

                afterSave: function(args) {

                    this.sandbox.publish("ProductSelectionSave", this.findSelectedProducts(), [this.sandbox.id]);

                    this.UsrnavigateBack();

                    this.hideBodyMask();

                },

                /**

                 * @protected

                 */

                UsrnavigateBack: function() {

                    var isOpportunityPage = window.location.href.indexOf("OpportunityPageV2") > 0;

                    if(!isOpportunityPage) {

                        this.sandbox.publish("BackHistoryState");                        

                        this.set("IsPageClosed", true);

                    } else {

                        this.config = this.sandbox.publish("ProductSelectionInfo", null, [this.sandbox.id]) || {};

                        window.location.assign("ViewModule.aspx#CardModuleV2/OrderPageV2/edit/"  + this.config.masterRecordId);

                    }

                },

            }

 

and it works !

even if at the end the user pust close two times the opportunity

Show all comments

I would like to get all the accounts that hadn't got an email titled "Hey we missed you...".

For instance, this contact has got the email:

 

But I haven't got a clue where the Emails are stored. I try a filter:

The Response object seems useless - there's no Subject field. Email message object too:

Could someone advise?

Like 0

Like

4 comments

Hello Yuriy,

 

For example, in my system I have only one account with the following email:



In order to filter all the accounts that received such email there is a need for below filter:

And in order to filter all the accounts that hadn’t receive this email (including those that have no email at all) please refer to the below filter:

Best regards,

Anastasiia

Anastasiia Zhuravel,

Thank you. Could you explain to me why this is not working?

The contact has got the emails, yet he's not filtered:

 

 

 

Yuriy Konstantinov,

 

Try to set the filter the following way:

 

[Subject contains %hey%missed%you%] or any other appropriate key words. 

 

Best regards, 

Anastasiia

Anastasiia Zhuravel,

it's the same. I tried:

It doesn't help.

Show all comments