Skip to content

Upgrading

Upgrading from version 4.6.12 or below

Only applicable if you're using the auto-reply feature

Set the exclude_totaloptouts=True when creating the traml Email class in all Traml sendouts from Inbox. Usually in the following custom limeobject:

  • helpdesk

See documentation for examples.

Upgrading to v4.5.0

In your recovery and notification endpoint you can now filter out, to not process auto-replies

If you have followed the template of the endpoints you should have a function called _handle_email_message which should contain email_item of type EmailItem. That item now have a property called is_autoreply which you can use in an if statement to just ignore the message or handle it in another way.

In your recovery and notification endpoint you can return False to prevent deletion of message

When handling e-mails in your endpoint, the message will automatically be deleted when your code has been run. But if it's for instance a duplicate event because the e-mail is being processed or have been processed before. It's important that you don't try to delete the message twice or while the other code runs.

To prevent the deletion just return False in your endpoint. The configuration page with examples have been updated with the correct structure.

There's two important things you need to do:

  • The actual endpoints that call the _handle_email_message must return the return value of the function call.
  • The function _handle_email_message must return False when the have_email_been_processed returns True.

Upgrading to v4.2.0

inactivate resource

From this version you are able to temporarily inactivate a resource in lime admin by tick the "inactive"-box and then "Sync and save". This stops mail from being automatically processed from this resource, you are still able to manually recover them.

Upgrading to v4.0.0

Optional history note

A minor but breaking change. In the helper function process_email(), the bool history_as_html has been removed and replaced by the enum history_behaviour. This can have three different values: NO_HISTORY, CREATE_AS_TEXT and the default-value CREATE_AS_HTML.

You need to update your solution to use history_behaviour IF you where using history_as_html before.

Upgrading to v3.0.0

Upgraded to TRAML2

From now on we use the new TRAML2 package.

Make sure that the TRAML parts of the solution follows the new structure here

Upgrading to v2.8.0

Store subscription email for auto reply

To be able to use the get_helpdesk_message when writing auto replies you'll need to add the following property:

Limetype Property Name Type Length Description
helpdesk subscription_email Link/Text 256 ReadOnly, Hidden Everywhere

Upgrading to v2.7.1

Use of immutable Ids in MS Graph Api

We now use Immutable Ids. So if you have resource subscriptions configured in Lime Admin, you'll need to delete them, save. And the re-create them.

Upgrading to v2.7.0

Auto reply for new helpdesk

We have a new function and class to easier send auto replies in your solution. See here how you can use it

Upgrading to v2.5.1

Default values if empty (subject, body, attachment name)

When saving subject/body and attachment names to Lime we will now fallback to default values, because most related fields are required so custom handling of this can be removed.

  • subject => <No subject>
  • body => <No body>
  • attachment name => <No name>

Upgrading to v2.5.0

Fallback HTML body to text if it's not an HTML email

When trying to fetch body html content of an email it will fallback to Text if the body content type isn't html. Before it just returned None, so custom handling of this can be removed.

Unique Body

In standard behaviours we only save the unique body i.e. the latest added message to the conversation to both helpdesk.description and the created history notes. If you want the old behaviour with saving the entire content you'll have to do that manually.

Upgrading to v2.4.0

Duplicate check

Sometimes Microsoft will send the same email multiple times to Lime, because Lime will process the events too slow. Therefore we have added the ability to check if the specific email already been added to Lime CRM. Read more about it here

Add properties for duplicate checks:

To be able to use the duplicate checks you'll need to add the following property:

Limetype Property Name Type Length Description
history msinbox_message_id Text 512 ReadOnly, Hidden EverywhereHidden Everywhere

Update notification/recovery endpoint:

Add a duplicate check so that you don't process the same e-mail multiple times.

Add these lines to exit your function early:

if inbox_behaviours.have_email_been_processed(app, email_item):
    return False

For more details check the examples here

Upgrading to v2.1.0

Renaming of functions and parameters

The following functions have been renamed:

  • function create_helpdesk_by_mail_item is now called: create_helpdesk_by_email_item
  • function create_history_by_mail_item is now called: create_history_by_email_item

The following parameters have been renamed:

  • function create_helpdesk_by_email_item parameter mail_item is now called email_item
  • function create_history_by_email_item parameter mail_item is now called email_item
  • function process_email parameter mail_item is now called email_item

Functionality to save email as file in Lime

Now it's possible to save the Email file as a document in Lime as eml.

In the function process_email there's a new parameter called: save_email_as_file that can be set to True if you want the documen to be saved in the default flow.

A helper function create_document_by_email_item can be used in custom flows.

Upgrading to v2.0.0

Endpoint notifications handles one message at a time

The @with_notification endpoint now receives one email message at a time instead of a list of messages.

i.e. change your solution endpoint:

FROM THIS:

@with_notification
def post(self, app, list_of_messages):
    uow = app.unit_of_work()
    for email_data in list_of_messages:
        # Process each message as email_data
    uow.commit()

TO THIS:

@with_notification
def post(self, app, email_data):
    uow = app.unit_of_work()
    # Process message as email_data
    uow.commit()

New endpoint for recovery

Add the recovery endpoint like in the examples here

For the recovery we also need to set status on messages which means that we need a permission in Azure for this: Mail.ReadWrite You can read what permissions you'll need here