Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
addons:engage:crm_server_12orlower [2019-06-28 06:35] James Pember |
— (current) | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Lime Engage ====== | ||
| - | ===== What is Lime Engage? ==== | ||
| - | |||
| - | Lime Engage is an add-on for Lime CRM that lets customers create internal competitions to help them to try improve certain activities, behaviours and results. | ||
| - | |||
| - | For example, a sales team may run a competition to try and increase the number of booked meetings, or cold calls. A support team may try to close down as many tickets as possible in a certain amount of time. | ||
| - | |||
| - | ===== Watch a demo of the basic integration ==== | ||
| - | |||
| - | Watching this could be valuable just to get a sense of the flow before you start. | ||
| - | |||
| - | https:// | ||
| - | |||
| - | ===== Lime CRM integration ===== | ||
| - | |||
| - | The arbiter integration connects Lime CRM and Engage. When things are created or updated in Lime CRM, arbiter let’s you control if those changes should trigger a logging of points in Engage competitions. | ||
| - | |||
| - | To see organisations who have Lime CRM integrations and linked to Engage, go to https:// | ||
| - | |||
| - | ===== Lime CRM and Engage pre-requisites ===== | ||
| - | |||
| - | BEFORE STARTING. TO SAVE YOURSELF TIME, PLEASE CHECK: | ||
| - | |||
| - | ===== That the customer is running at least Lime CRM version **12.49.0.390** or later and that they are running at least version 0.7 of the lime-event-handler package (run `pip list` in limefu to check). | ||
| - | ===== | ||
| - | |||
| - | - Lime CRM version **12.49.0.390** or later | ||
| - | - Download the latest version of the plugin on https:// | ||
| - | - Make sure you allow the CRM Desktop client to write to Engage from the Desktop client. Once in their Environment, | ||
| - | - Make sure that the customer signs a DPA agreement unless they have been Engage customers before. Also inform the customer that during the beta phase we are running the plugin with extended logging to make debugging easier. | ||
| - | |||
| - | ===== Contact information ===== | ||
| - | |||
| - | * **Onboarding of new customer, feature requests and questions in general:** //James Pember (james.pember@lime.tech), | ||
| - | * **Technical support:** //Behrouz Talebi (behrouz.talebi@lime.tech), | ||
| - | |||
| - | ===== Getting started: creating an integration and Engage competition ===== | ||
| - | |||
| - | **Preparing: | ||
| - | - If the customer has not used Engage before, go to https:// | ||
| - | - Pick a user in Engage that is a power user. We will need to generate an API key for that user that we are going to use when connecting CRM and Engage. | ||
| - | - Once in the Backoffice, open the organisation and make sure the "Lime CRM Integration" | ||
| - | - Go into the Engage Backoffice (https:// | ||
| - | - Go to https:// | ||
| - | |||
| - | **Installing: | ||
| - | - If you have done these steps on a staging or development env. for a customer, **please uninstall it there and dont run two instances of the same plugin on the same customer**. If you do that, it will be very hard to debug in case there are errors. | ||
| - | - Make sure you downloaded the plugin as mentioned above in "Lime CRM and Engage pre-requisites" | ||
| - | - Then install the addon via Limefu (**open the shell with "run as administrator" | ||
| - | < | ||
| - | $ pip install -e <local path to plugin> | ||
| - | $ limeplug install <local path to plugin> | ||
| - | </ | ||
| - | - Open upp the " | ||
| - | |||
| - | **Configuring: | ||
| - | - Input Engage API key in Lime Admin, under Miscellaneous -> Lime Engage -> API configuration (required) | ||
| - | - Create the config within Lime Admin containing one of more activity mappers (explained below) | ||
| - | - You are now ready to create a competition within the Engage “Create Competition” UI. Make sure when creating Activities that you use the same name as you created in the config (**engage_activity_name**). | ||
| - | - __Important: | ||
| - | |||
| - | ===== Creating a first Engage competition ===== | ||
| - | |||
| - | Once you have installed Engage, and configured the activity mappers in Lime Admin - you are now ready to create a competition! | ||
| - | |||
| - | - Login to the customers admin Engage account ([[http:// | ||
| - | - Click create competition. Use the wizard to choose what kind of competition you want to run. | ||
| - | - When you get to the Add Activity screen, make sure that you use the same name as you created in the config (< | ||
| - | - When creating activities, be sure to press the "Only Power Users can do this activity" | ||
| - | - Then finish the competition creation by adding users, prizes and setting the competition dates etc. | ||
| - | - Now if your configuration is configured correctly - your competition will start to suck in data from Lime CRM! | ||
| - | |||
| - | ===== Upgrading an existing installation ===== | ||
| - | |||
| - | Replace the files where its currently installed with the ones you just downloaded from the latest release. You can simply remove the old folder. After that, run the following commands again (the same as when you installed it the first time): | ||
| - | |||
| - | **Make sure you are in limefu and open the Shell with "Run as administrator" | ||
| - | |||
| - | < | ||
| - | $ pip install -e <local path to plugin> | ||
| - | $ limeplug install <local path to plugin> | ||
| - | </ | ||
| - | |||
| - | - Open upp the " | ||
| - | |||
| - | ===== Removing the plugin ===== | ||
| - | |||
| - | Uninstalling an existing version: | ||
| - | |||
| - | * Remove engage-arbiter (the engage plugin) from the plugins folder (// | ||
| - | * Also remove engage-arbiter from the main directory where you installed it (probably like c:/Program Files 86 /Lunda.. /Lime CRM) | ||
| - | * Restart event handler service | ||
| - | * Restart web server | ||
| - | |||
| - | Note: Some customers receive errors when trying to load Lime Admin in the web client after an uninstall (i.e. from a test environment). This is most likely always because the uninstall process hasn't been completed properly, and the web client tries to create a menu item for Lime Engage and fails. Make sure you followed all 4 steps above. | ||
| - | |||
| - | ===== Potential issues after a CRM server upgrade ===== | ||
| - | |||
| - | There can sometimes be issues with the Engage plugin after a CRM server upgrade. Just uninstall the plugin (above) and do a fresh install and everything will be fine. The config should still be in place as the database is not affected by the upgrade. | ||
| - | |||
| - | ===== Screenshots and or video of Workflow ===== | ||
| - | |||
| - | [[https:// | ||
| - | |||
| - | See above for a quick demo of the overall workflow for configuring Engage. | ||
| - | |||
| - | ===== Definitions ===== | ||
| - | |||
| - | * Activity mapper (mapper): a YAML structure describing how to map events in Lime CRM to activities in Engage competitions. | ||
| - | * Config: a collection of activity mappers | ||
| - | |||
| - | ==== Activity mapper ==== | ||
| - | |||
| - | ^ Property | ||
| - | | active | ||
| - | | name | string | ||
| - | | limetype | ||
| - | | event | ||
| - | | engage_activity_name | ||
| - | | coworker_field_name | ||
| - | | filter_boolean_operator | ||
| - | | cash_value_field | ||
| - | | lime_filters | ||
| - | | engage_custom_field_mappers | object (see separate table) | ||
| - | |||
| - | |||
| - | ==== lime_filters ==== | ||
| - | |||
| - | ^ Property | ||
| - | | key | string | ||
| - | | operator | ||
| - | | value | string | ||
| - | |||
| - | **A few notes on filters:** | ||
| - | |||
| - | * You can use Date strings as filters together with either the ' | ||
| - | * You can use booleans as the value in a filter (i.e. < | ||
| - | * You can also use Null Check operators to check for fields that are either empty or not empty. When using a null check operator, you can skip the " | ||
| - | |||
| - | **Examples of lime_filters: | ||
| - | |||
| - | * < | ||
| - | * < | ||
| - | * < | ||
| - | * < | ||
| - | * < | ||
| - | * < | ||
| - | |||
| - | ==== engage_custom_field_mappers ==== | ||
| - | |||
| - | ^ Property | ||
| - | | engage_custom_field_name | ||
| - | | lime_key | ||
| - | |||
| - | |||
| - | ==== Using custom fields ==== | ||
| - | |||
| - | * Can only use custom fields with text type (not checkbox) | ||
| - | * Any custom field mapping in the config that does not match a custom field in an Engage competition will simply be left out of the activity logging | ||
| - | * Using required custom fields is not advisable, since activity logging will not work if a required custom field is left out of the config | ||
| - | |||
| - | ===== Limitations ===== | ||
| - | |||
| - | * A mapper that listens for **new** events will not trigger on **update** on that same object. | ||
| - | * E.g. mapper has **limetype** ‘history’, | ||
| - | * Workaround: adding an additional mapper that listens for **update** events on **limetype** ‘history’, | ||
| - | * This kind of workaround needs to be used with caution, for two reasons: | ||
| - | * * If there’s a mapper for the ‘type’ ‘salescall’ as well, there will be double points logged in Engage. | ||
| - | * * This will not work if you have two filters that both need to be satisfied (using **filter_boolean_operator** **and**). If the **new** event mapper has a **lime_filter** looking at two different fields (e.g. ‘note’ **contains** ‘CEO’ and ‘type’ **equals** ‘bookedmeeting’), | ||
| - | * Workaround: deleting the item in Lime CRM and logging it again with the correct type. | ||
| - | * Points can not be logged retroactively. I.e. if a coworker is not added to a competition before they log something in Lime CRM, that log will not give points. | ||
| - | * LimeTypes that can have multiple values can not be used in filters or custom field mappers. E.g. if ‘company‘ has multiple ‘industry‘, | ||
| - | * Custom fields in Engage need to be handled with care (see section ''' | ||
| - | * We have no way to know if a event handler has stopped running, which seems to happen from time to time after updating the add-on. | ||
| - | |||
| - | ===== Examples of activity mappers ===== | ||
| - | |||
| - | <code yaml> | ||
| - | name: Booked customer visit | ||
| - | active: true | ||
| - | limetype: history | ||
| - | event: new | ||
| - | coworker_field_name: | ||
| - | engage_activity_name: | ||
| - | filter_boolean_operator: | ||
| - | lime_filters: | ||
| - | - key: type | ||
| - | operator: equals | ||
| - | value: bookedcustomervisit | ||
| - | engage_custom_field_mappers: | ||
| - | - engage_custom_field_name: | ||
| - | lime_key: note | ||
| - | </ | ||
| - | |||
| - | This mapper accepts **new** history notes (i.e. not updates on existing) where the type is ' | ||
| - | The contents of the `note` field from Lime is passed on to the `Note` custom field in Engage. | ||
| - | |||
| - | ----- | ||
| - | <code yaml> | ||
| - | name: Deal won | ||
| - | active: true | ||
| - | limetype: deal | ||
| - | event: update | ||
| - | coworker_field_name: | ||
| - | engage_activity_name: | ||
| - | cash_value_field: | ||
| - | filter_boolean_operator: | ||
| - | lime_filters: | ||
| - | - key: dealstatus | ||
| - | operator: equals | ||
| - | value: agreement | ||
| - | - key: value | ||
| - | operator: gt | ||
| - | value: 50000 | ||
| - | engage_custom_field_mappers: | ||
| - | - engage_custom_field_name: | ||
| - | lime_key: company.name | ||
| - | - engage_custom_field_name: | ||
| - | lime_key: name | ||
| - | </ | ||
| - | This mapper accepts **deal**, where the `dealstatus` field has been updated to ' | ||
| - | The value from the field specified in `cash_value_field` is sent to Engage as the amount sold for. | ||
| - | The name of the company the deal is tied to is passed on to the `Customer name` custom field in Engage. | ||
| - | The name of the deal is passed on to the `Deal name` custom field in Engage. | ||
| - | |||
| - | ===== Troubleshooting Engage ===== | ||
| - | |||
| - | This section will help you understand and troubleshoot some of the most frequently asked support/ | ||
| - | |||
| - | **I can’t see my activities logged in Engage even though I’ve logged them in Lime CRM?** | ||
| - | |||
| - | To see what may be going wrong, perform the following steps: | ||
| - | |||
| - | - Check that you have an active Lime Engage configuration and you have one or more activities configured correctly. | ||
| - | - Check that your logged activity in Lime CRM matches the Engage requirements for that activity which were setup by the competition creator | ||
| - | - To check the Engage activity configuration, | ||
| - | - Make sure that the Activity name within your Engage competition matches the “engage_activity_name” attribute within your configuration (above). | ||
| - | - Check you are a participant in an active competition (if you are not, you will not be awarded points) | ||
| - | |||
| - | **I made a mistake, so I updated something in Lime CRM but Engage still hasn’t updated the activity to show the right data?** | ||
| - | |||
| - | Most Engage activities are configured to sync from Lime CRM to Engage when the activity is first created and Engage does not always necessarily listen for updates to specific activities. This means if you do something in Lime CRM (i.e. book a meeting) which syncs over to Engage, and then you change that meeting activity – those changes won’t be synced over to Engage. | ||
| - | |||
| - | **Can I get points retroactively for activities I logged before the competition started?** | ||
| - | |||
| - | No. You cannot receive points retroactively. You will only be rewarded points for activities that are logged within the competition dates/ | ||