Email
email templates
unsubscribe
Customization
Marketing_Creatio
8.0

Hi Creatio Community,

I have a use case where I’d like to customize the unsubscribe behavior in our email campaigns.

Currently, when we send emails via Creatio, there’s an unsubscribe link included. However, clicking this link unsubscribes the user from all future emails sent from Creatio, regardless of type (newsletter, product updates, offers, etc.).

What I’d like to achieve instead is:

👉 When the user clicks the unsubscribe link in an email, they should be redirected to a preference management page.
👉 On this page, they can choose what kind of emails they want to unsubscribe from – for example:

  • Newsletters
  • Product updates
  • Promotional offers

This would give users more control over their communication preferences and reduce the chances of losing engagement altogether.

Has anyone implemented a similar setup in Creatio or found a workaround? Any guidance on how to configure this or customize the default unsubscribe process would be much appreciated.

Thanks in advance!

Like 1

Like

2 comments

You can create your own custom unsubscribe or preferences webpage that works however you need and maybe uses the Creatio API to communicate with Creatio. As for using that page as the default unsubscribe page, that is a system setting (I think it is the UnsubscribeApplicationUrl setting). You can put whatever URL you want in that setting and it will use that in the subscribe link added to the emails. 

Ryan

I agree, setup in Creatio is not straightforward for a functionality that is crucial today in marketing.

Show all comments
Email
marketing
Marketing_Creatio
8.0

In Creatio's email guidelines for email deliverability is advises to 'Create a browser version of your email. The users will be able to read it even if the email service has problems rendering it. Some email services, such as Outlook, support this solution' But I cannot see a way to do this in Creatio.

thanks

Like 0

Like

2 comments

Hello!

Currently, Creatio does not offer a built-in feature to automatically generate a browser version of an email. However, there is an alternative approach that can help you achieve this:

You can design your email template in HTML, and then host its HTML version on a web server or cloud storage that allows public access. This way, you can add a link in your email, such as “View this email in your browser”, which will redirect recipients to the hosted version.

Working with HTML templates gives you maximum flexibility to adapt your email design for different platforms and devices, ensuring consistent display and providing an easy way to share a browser version.

If you could share more details about your desired end result, we would be glad to provide more tailored recommendations or examples for implementation, since it will help us better understand your specific context.

Ok, thank you for your reply. However, I thought you were advertised as a 'no-code' platform?

Show all comments
Email
Invoicing
pdf
Sales_Creatio_enterprise_edition
8.0

Hi All, 

probably a very silly question, however, I want users to be able to email Invoices as a PDF attachment to clients for payment through Creatio. Is there a simple one-step solution, other than generating a printable, saving the printable on the computer and then attaching it to an email? 

Has anyone build a custom business process for this or is there a simple functionality that I'm missing?

Like 0

Like

3 comments

Hello, 

 

Thank you for your question regarding sending invoices as PDF attachments to clients through Creatio. It’s a valid and common use case, and we’re happy to provide guidance.

To implement this functionality in a streamlined and automated way, we recommend creating a custom business process in Creatio using the following elements:

  1. Read Data – Use the Read data process element to retrieve the necessary invoice information.
  2. Generate File – Use the Process file element to create the invoice file.
  3. Send Email – Use the Send email element to attach and send the generated invoice to the client.

You can refer to this documentation for a detailed example of how the Process file element works:
🔗 Process file element – Creatio Academy

Additionally, to generate the invoice in PDF format, an external connector is required. We recommend using the AsposePDF connector available on the Creatio Marketplace:
🔗 AsposePDF Connector for Creatio

To trigger this process, you can either:

  • Add a custom button to the Invoice section, or
  • Configure a start signal to initiate the process automatically based on specific conditions (e.g., invoice status change).

Have a nice day!

Thanks, are there alternatives to the Aspose Connector? The one review is very bad. Also, as we had reports set up for a long time, we are able to convert reports straight to PDF's in Creatio using the Printables function. So the preference would be to utilise this functionality. 

Julia Molnar,

Unfortunately , currently there is only Aspose Connector which is align with your requirements. 

Show all comments
Email
Sales_Creatio
8.0

Hi.  

Is it possible in Creatio to create a form that creates and sends a formatted email?

We want to create a form in Creatio to collect data.  Our sales reps will fill this out, using pick lists, radio buttons, and freeform text.  Then they will "submit" that form and Creatio will format the data in the email body (similar to code below) and send it off.

Any suggestions, info, or pointers you may have is appreciated.

Thanks!
Rob

Sales Rep:    Oswald Cobblepot
Customer:     Dupont
Opportunity:  Dupont #1234
Industry:     Chemical - Other
Vertical:     Chemical
Sub-Vertical: free form text here (75 chars)
Type:         Contract renewal
Holder:       free form text here (75 chars)
Tons:         <500
Truckloads:   1K to 1.5K
Like 0

Like

1 comments

Hello!

Yes, what you're describing is fully achievable in Creatio using a simple business process.

Here’s how it works:

We can create a form inside Creatio (as a section or a page) with the necessary fields: dropdowns, radio buttons, and free-text inputs.

When your sales reps click "Submit", a business process is triggered.

This process will:

  1. Read the entered data from the form.
     
  2. Format the data into a structured email body (for example, using a table or plain text with labels).
     
  3. Send the email to the defined recipient, using Email element. The email body can include HTML for styling if needed.

As an alternative, you can also create a printable form (a printable report template). This report can then be reused within a business process and sent as an attachment in the email - for example, as a structured summary of the submitted data.

Show all comments
Email
emailmessageheader
email templates
bulk emails
nocode
Sales_Creatio
8.0

Hi.  

I am following up on a thread I posted earlier which seems to have withered -- I am looking for an alternate path.    (Link to original thread is below)

Is there a "No Code" way to add to the email headers that Creatio generates? 

I know there is a way to code the email, but we have so many processes that send out emails, I will have to hire a developer to do this.   (Code is included below for reference, you can see there the header I need to add to the outbound emails)

If we could add "X-Auto-Response-Suppress: All" to the header, we would eliminate most if not all "out of office" responses we get back.

Thanks
Rob

var message = new Terrasoft.Mail.Sender.EmailMessage
{
	// Sender email address.
	From = "Sender@email.com",
	// Recipient email addresses.
	To = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	// Copy optional
	Cc = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	// Hidden copy optional
	Bcc = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	Subject = "Message subject",
	// Email body.
	Body = "Body",
	// Priority, Terrasoft.Mail.Sender.EmailPriority enumeration values.
	Priority = Terrasoft.Mail.Sender.EmailPriority.Normal,
	// Headers you want to add to your email
	HeaderProperties = new List&lt;Mail.Sender.EmailMessageHeader&gt;
	{
		new Mail.Sender.EmailMessageHeader
		{
			Name = "X-Auto-Response-Suppress",
			Value = "All"
		}
	}
};

https://community.creatio.com/questions/add-email-header-x-auto-response-suppress-all

Like 0

Like

2 comments
Best reply

If you used the code approach, you could make a generic process you'd use as a subprocess. Any process that needed to send email could use that one process. However, you'd lose the ability for an easy designer for composing the email in the process and would have to send HTML to the subprocess to use as the body (not an issue with the subprocess route specifically, but an issue with using code to send the email). 

If it worked for you, you could create the emails themselves as message templates. The subprocess would need to process that template as well to generate the body. At leas that way you could use an easy designer to create the messages instead of just forming the HTML.

Ryan

Does not appear to be possible without code. The send email process element doesn't expose any properties for the header. 

If you used the code approach, you could make a generic process you'd use as a subprocess. Any process that needed to send email could use that one process. However, you'd lose the ability for an easy designer for composing the email in the process and would have to send HTML to the subprocess to use as the body (not an issue with the subprocess route specifically, but an issue with using code to send the email). 

If it worked for you, you could create the emails themselves as message templates. The subprocess would need to process that template as well to generate the body. At leas that way you could use an easy designer to create the messages instead of just forming the HTML.

Ryan

Show all comments
case
case_registration
Email
Sales_Creatio_enterprise_edition
8.0

Hello Community,

What is the standard way to achieve the following?

We have a list of mailboxes, each associated with different case categories. 

We would like to automatically send a standard reply—such as "Your request is under review"—when the first email (i.e., case registration) arrives in the mailbox.

Any guidance or best practices would be appreciated.

Sasor

Like 0

Like

1 comments

Hello,

To achieve automatic replies on the first incoming email to your mailboxes, we can suggest to create a business process based on the out-of-the-box "Send Email to Case Contact" business process.

You can take the existing process that’s already in the system as a template and customize it to fit your needs—such as sending a standard reply like "Your request is under review" when a new case is created from the first email.

This way, you leverage the built-in functionality and adjust it to your specific scenario.

Thank you!

Show all comments
cases
Email
order
case_registration
Sales_Creatio_enterprise_edition
8.0

Hello Community,

Is it possible to associate a specific mailbox with a section, such as Orders or Leads?

We’re looking to replicate the same logic used in Case Registration,where an incoming email to a designated mailbox automatically triggers the creation of a new case.

In our case, we’d like to apply this to Orders and Leads. That is, when an email is sent to a specific mailbox, a new order would be automatically created.

Is this functionality available, or are there any recommended workarounds?

 

Sasor

Like 0

Like

2 comments
Best reply

You can use the object EmailMessageData (Title "Email message") to know which mailbox (or mailboxes) an email (Activity) is from. Emails are Activity records, but each mailbox connected to Creatio that the email is located in will have a record in EmailMessageData to tie the email to the mailbox. 

One approach would be to have a process listening for Activity added with Type=Email that exist in the mailbox you're monitoring.

Then you do whatever is needed such as create a record in your section. The EmailMessageData object also will let you know if the email is a part of a thread. Then you could use that to determine you need to just add this new email to an existing record vs adding a new record, etc.

Ryan

You can use the object EmailMessageData (Title "Email message") to know which mailbox (or mailboxes) an email (Activity) is from. Emails are Activity records, but each mailbox connected to Creatio that the email is located in will have a record in EmailMessageData to tie the email to the mailbox. 

One approach would be to have a process listening for Activity added with Type=Email that exist in the mailbox you're monitoring.

Then you do whatever is needed such as create a record in your section. The EmailMessageData object also will let you know if the email is a part of a thread. Then you could use that to determine you need to just add this new email to an existing record vs adding a new record, etc.

Ryan

Hello Ryan,

Thank you for the recommendation. I tried this approach,

but the Business Process wont trigger when an email comes to the specified Mailbox.

I checked from Sql Console the related tables, and the Id that Im utilizing is correct.

But still the Process wont trigger.

Sasor

Show all comments

I have a business process which reads emails to send from a custom entity and sends them using the "Send Email" process element.

After that I need to check if the email was sent.

If an issue occurred I need to update the status in my custom entity to "Error".

I could not find a way to detect if an error occurred while sending a mail. 

I already read about "Ignore errors on sending" checkbox here but it does not respond to my needs.

I also tried to use [#MySendEmailProcessElement.Activity completed#] but it is always false.

Can you suggest me another way to check if the email was sent?

Like 0

Like

2 comments

Hello.

Thank you for your question.

To determine whether an email was successfully sent in your business process, you can utilize the following two columns from the Activity object:

  1. ErrorOnSend – contains the error message if sending failed.
  2. SendDate – stores the timestamp when the email was successfully sent.

You can use the following logic:

  • If ErrorOnSend is empty and SendDate is populated → the email was sent successfully.
  • If ErrorOnSend is populated and SendDate is empty → the email failed to send.
  • If both ErrorOnSend and SendDate are empty → the email is likely pending or not processed yet.

Based on this, you can use a conditional flow in your business process to update the status in your custom entity accordingly.

Best regards,
Antonii.

Antonii Viazovskyi,

Hi, which filter do I need to apply to the Activity object to select the email I've just sent?

I added the Read Activity step after the Send Email:

myProcess

Is it correct to read it using the following filter?

read activity filter

Anyway I cannot see ErrorOnSend and SendDate fields in the Activity object. Am I looking in the correct object?

 

Show all comments
Email
Records
Sections
Sales_Creatio_enterprise_edition
8.0

Hi Community,

I have created a new Custom Section, and is not appearing in the Dropdown where sections are listed.

Is there any additional config I need to add in order to have the possibility to link the email with the custom section?

Sasor

Like 0

Like

2 comments
Best reply

Hello,

Thank you for your question.

If you've created a custom section and want it to appear in the "Connected to" dropdown (e.g., when linking emails in the communication panel), some additional configuration is required. This behavior is not handled automatically for custom sections.

 

This can only be implemented by development:

1. Add a column to the Activity object that references the desired directory.

2. Find the UId of the column added in the first point (in the directory metadata).

3) Execute the script:
DECLARE @columnName varchar(max) = 'UsrColumn';
INSERT INTO [EntityConnection] ([SysEntitySchemaUId], [ColumnUId])
  VALUES (
    (SELECT
      [UId]
    FROM [SysSchema]
    WHERE [Name] = 'Activity'
    AND [ExtendParent] = 0), 
    (SELECT DISTINCT
      [ColumnUId]
    FROM [SysEntitySchemaReference]
    WHERE [SysSchemaId] IN (SELECT
      [Id]
    FROM [SysSchema]
    WHERE [Name] = 'Activity')
    AND [ColumnName] = @columnName));

Where 'UsrColumn' is the name of the column you added to the Activity object. The script will fetch its UId automatically.

4) select * from EntityConnection order by CreatedOn desc
update EntityConnection set ColumnUId = 'UId column added in the first part' where id = 'UId column from select * from EntityConnection order by createdon desc'

5) Perform a cache clear and log back into the system.

 

After this, your custom section should appear in the "Connected to" list and allow linking emails or other activities to it.

Please note: This change requires backend access (via SQL Executor) and should be applied carefully.

 

Thank you!

Hello,

Thank you for your question.

If you've created a custom section and want it to appear in the "Connected to" dropdown (e.g., when linking emails in the communication panel), some additional configuration is required. This behavior is not handled automatically for custom sections.

 

This can only be implemented by development:

1. Add a column to the Activity object that references the desired directory.

2. Find the UId of the column added in the first point (in the directory metadata).

3) Execute the script:
DECLARE @columnName varchar(max) = 'UsrColumn';
INSERT INTO [EntityConnection] ([SysEntitySchemaUId], [ColumnUId])
  VALUES (
    (SELECT
      [UId]
    FROM [SysSchema]
    WHERE [Name] = 'Activity'
    AND [ExtendParent] = 0), 
    (SELECT DISTINCT
      [ColumnUId]
    FROM [SysEntitySchemaReference]
    WHERE [SysSchemaId] IN (SELECT
      [Id]
    FROM [SysSchema]
    WHERE [Name] = 'Activity')
    AND [ColumnName] = @columnName));

Where 'UsrColumn' is the name of the column you added to the Activity object. The script will fetch its UId automatically.

4) select * from EntityConnection order by CreatedOn desc
update EntityConnection set ColumnUId = 'UId column added in the first part' where id = 'UId column from select * from EntityConnection order by createdon desc'

5) Perform a cache clear and log back into the system.

 

After this, your custom section should appear in the "Connected to" list and allow linking emails or other activities to it.

Please note: This change requires backend access (via SQL Executor) and should be applied carefully.

 

Thank you!

Hello Valeria,

Thank you for the detailed script.

It's still a bit strange why the "Connected To" appears for some custom sections (created by us) and not for others.

I’ll try you approach

Show all comments
emailheader
X-Auto-Response-Suppress
email templates
bulk emails
Email
Sales_Creatio
8.0

Hi.  

We use Creatio to automatically send out emails to users based on certain triggers.  There is typically 50-100 a day -- We then get many "out of office" responses back, which are unnecessary. 

Is there a way to add to the email headers that Creatio generates?  If we could add "X-Auto-Response-Suppress: All" to the header, we would eliminate most if not all "out of office" responses.

Thanks
Rob

 

Like 0

Like

5 comments
Best reply

Hello Rob,

 

You can customize your email sending process using the instructions and examples from the article https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/8.1/platform-customization/classic-ui/emails/sending-emails/overview.

 

If you want to add the header to your email you can it by creating the configuration file of the email and specifying the header there.

 

For example: 

 

var message = new Terrasoft.Mail.Sender.EmailMessage
{
	// Sender email address.
	From = "Sender@email.com",
	// Recipient email addresses.
	To = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	// Copy optional
	Cc = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	// Hidden copy optional
	Bcc = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	Subject = "Message subject",
	// Email body.
	Body = "Body",
	// Priority, Terrasoft.Mail.Sender.EmailPriority enumeration values.
	Priority = Terrasoft.Mail.Sender.EmailPriority.Normal,
	// Headers you want to add to your email
	HeaderProperties = new List&lt;Mail.Sender.EmailMessageHeader&gt;
	{
		new Mail.Sender.EmailMessageHeader
		{
			Name = "X-Auto-Response-Suppress",
			Value = "All"
		}
	}
};

Hello,

Are we discussing marketing bulk emails or regular emails sent via Exchange\SMTP?

Oleg Drobina,

Not bulk.  These are individual emails, sent out to a user (or other person) based on some data entry firing a trigger/process.

Thanks.

 

 

Hello Rob,

 

You can customize your email sending process using the instructions and examples from the article https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/8.1/platform-customization/classic-ui/emails/sending-emails/overview.

 

If you want to add the header to your email you can it by creating the configuration file of the email and specifying the header there.

 

For example: 

 

var message = new Terrasoft.Mail.Sender.EmailMessage
{
	// Sender email address.
	From = "Sender@email.com",
	// Recipient email addresses.
	To = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	// Copy optional
	Cc = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	// Hidden copy optional
	Bcc = new List&lt;string&gt;{ "first@recepient.co", "second@recepient.co" },
	Subject = "Message subject",
	// Email body.
	Body = "Body",
	// Priority, Terrasoft.Mail.Sender.EmailPriority enumeration values.
	Priority = Terrasoft.Mail.Sender.EmailPriority.Normal,
	// Headers you want to add to your email
	HeaderProperties = new List&lt;Mail.Sender.EmailMessageHeader&gt;
	{
		new Mail.Sender.EmailMessageHeader
		{
			Name = "X-Auto-Response-Suppress",
			Value = "All"
		}
	}
};
Show all comments