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 thehave_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
parametermail_item
is now calledemail_item
- function
create_history_by_email_item
parametermail_item
is now calledemail_item
- function
process_email
parametermail_item
is now calledemail_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