Время создания
Filters

Hi Everyone,

We are experiencing an issue with the Send Test Email functionality in Bulk Email.

When we click Send Test Email, the test email is not delivered immediately. In our testing, it is taking almost 24 hours to arrive. We have also noticed that when the email is finally received, it is being routed to Quarantine instead of the inbox.

We have tested this with multiple bulk emails and observed the same behavior.

Has anyone else experienced delayed test email delivery or quarantine issues? If so, were there any settings or configurations that helped resolve it?

Any guidance would be appreciated.

Thank you!

Like 0

Like

0 comments
Show all comments
Studio_Creatio
sidebar
FreedomUI
creatio_v_8.3.3
Studio_Creatio
8.0

Hi,

I have a custom Freedom UI sidebar, that I open programmatically from a button on another page using crt.OpenSidebarRequest.

My requirement: every time the sidebar opens, I need to pass dynamic data (a record Id, a record number, etc. — different each time depending on what the user clicked) into the sidebar so it can pre-fill some fields.

What I've tried and confirmed does NOT work:

  1. crt.OpenSidebarRequest — only accepts type, sidebarCode, and $context. No params field.
  2. Mutating request.$context on the caller before opening, then reading it from the sidebar — turns out the sidebar's $context is a completely separate view-model instance, so changes never propagate across.
  3. crt.HandleViewModelResumeRequest / crt.HandleViewModelInitRequest inside the sidebar's inline schema — Init only fires once (the sidebar's view model is created once and never destroyed/recreated on subsequent opens, just hidden/shown), and Resume also only fired on the very first open in my testing, not on every reopen.
  4. crt.HandleSidebarOpenRequest — confirmed this only works from an Angular remote module. But even after building the remote module and confirming it fires reliably every single open cycle, the request object only contains { type, sidebarCode } — no $context, so there's no way to push data from the remote module into the sidebar's actual view model fields.

What does work : BroadcastChannel, sent from the caller page's click handler, received in the sidebar's crt.HandleViewModelInitRequest handler (registered once, stays alive for the sidebar's whole lifetime since the view model itself isn't destroyed/recreated). Combined with a "ready" handshake to fix a race condition on the very first open (sidebar's listener isn't registered yet by the time the caller sends, since async init takes a moment).

My question: is there a more "native"/supported way to do this that I'm missing, or is BroadcastChannel genuinely the only mechanism Creatio offers for this in Freedom UI sidebar today? Specifically interested in:

  • Whether crt.HandleSidebarOpenRequest's request payload can ever carry custom data (e.g. via some other request type chained before it)
  • Whether there's a documented way to get a live reference to the sidebar's own view model from the caller's side
  • Whether Creatio has any roadmap plans to add a params/data field to crt.OpenSidebarRequest

    Creatio Version - 8.3.3

    Thanks
Like 0

Like

1 comments

Hello Darshan Dev Prajapat,

You can use MessageChannelService instead of BroadcastChannel.

All you need to do is import the Creatio DevKit SDK, select the place to subscribe/unsubscribe (Pause/Resume or Init/Destroy events), and use the sdk.MessageChannelService. Available in version 8.2.0 and above.

Basic subscription example:

handlers: /**SCHEMA_HANDLERS*/[
	{
		request: "crt.HandleViewModelResumeRequest",
		handler: async function (request, next) {
			const messageChannelService = new sdk.MessageChannelService();

			request.$context.MySubscription = await messageChannelService.subscribe(
				"TestSender",
				(message) => console.log(message.body)
			);

			return next?.handle(request);
		}
	},
	{
		request: "crt.HandleViewModelPauseRequest",
		handler: async function (request, next) {
			const subscription = await request.$context.MySubscription;
			subscription.unsubscribe();

			return next?.handle(request);
		}
	}
]/**SCHEMA_HANDLERS*/

Basic sending example:

handlers: /**SCHEMA_HANDLERS*/[
	{
		request: "crt.HandleViewModelInitRequest",
		handler: async (request, next) => {
			const messageChannelService = new sdk.MessageChannelService();

			const body = {
				// Some data
			};

			await messageChannelService.sendMessage(
				"TestSender",
				body,
				sdk.MessageChannelType.PTP
			);

			return next?.handle(request);
		}
	}
]/**SCHEMA_HANDLERS*/

You can use the following channel types:

  • MessageChannelType.PTP: The message will be sent to the same user who sent that message (client-side).
  • MessageChannelType.BROADCAST: The message will be sent to all users (client-side).
  • MessageChannelType.SERVER: The message will be sent to the server. In this case, only the server-side subscription will receive this message.
Show all comments
Service_Creatio
Service_Creatio_enterprise_edition
8.0

Hi Team,

I’m currently working on the Case Rating / Feedback functionality in Creatio and came across the following condition in the OOTB service:

UserConnection.GetIsFeatureEnabled("UseOldFeedbackPage")

It controls whether the system opens the standard feedback page or the icons-based page.

I have a few quick questions:

  • How to enabled it in Creatio?
  • If not visible in Feature Management, should we create it manually?
  • What is the recommended way to control feedback page behavior?

Thanks in advance!

Like 1

Like

0 comments
Show all comments

Hi commnity,

 

we have a business process where we need to have an agent answer to an email from a customer.

I know how to get the email via id in activity with type email, but am struggling to then create a reply that keeps all of the email history and works as a "normal" threaded email.

 

Any ideas on how to achieve this?

Thanks,

Luis

Like 1

Like

0 comments
Show all comments
8.3.3
Business Process
logging
Sales_Creatio
8.0

I am trying to add some custom logging to BP execution, and would like to have a reference back to the BP instance that is being run so that the user can click the link and go to the BP instance's log page. I do not believe there is a system variable/similar that will provide that, but I'm hoping I'm just missing something! I know it is possible to use a script task to fetch this information from context.Process.InstanceUId, but if possible it would be nice to avoid having to add a script task and therefore compile the BP just for this.

Like 0

Like

0 comments
Show all comments