Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

What is Mailigen?

...

Tip

It is very easy to create a list from SERP using flex.bi with a report definition like this:

Code Block
{
  "cube_name": "HansaWorld CRM",
  "cube_reports": [ {
     "name": "All customer e-mails",
     "result_view": "table",
     "definition": {"columns":{"dimensions":[{"name":"Measures","selected_set":["[Measures].[Customer e-mail]","[Measures].[Customer primary contact]"],"members":null}]},"rows":{"dimensions":[{"name":"Customer","selected_set":["[Customer].[Customer].Members"],"members":null,"bookmarked_members":null}],"filter_by":{"conditions":[{"expression":["[Measures].[Customer e-mail]"],"operator":"matches","value":".+@.+"}]},"nonempty_crossjoin":true},"pages":{"dimensions":null},"options":{"nonempty":true},"view":{"current":"table","maximized":false,"table":{}}}
  } ],
  "calculated_members": [{"name":"Customer e-mail","dimension":"Measures","formula":"[Customer].CurrentMember.getProperty('E-mail')","format_string":""},{"name":"Customer primary contact","dimension":"Measures","formula":"[Customer].CurrentMember.getProperty('Primary contact')","format_string":""}]
}


How to send a letter from Standard ERP

  1. Create a template you will use to format this e-mail. You can create one from scratch or use their provided templates, but the main thing is that you need to have a code of the template without any spaces and in capital letters. For this example I will use one called USER-PASSWORDS:
  2. Create a new letter in CRM>>Register>>Customer Letters
  3. Select either specific customer or put an asterisk * in the customer field to send for all customers matching other criteria
  4. Select whether to send only to primary contact person or all of the
  5. Select customer category to send the e-mails to (or enter All to use special customer Subscriber list All)

    Note

    A contact list with the name (not code) of the category will be searched for in Mailigen


  6. If applicable select one or more classifications to filter down the contacts accordingly
  7. Enter the subject of the e-mail
  8. Enter the template name from above in the field Document (e.g. USER-PASSWORDS)
  9. Select the person that should be placed in the Reply to of the e-mail
  10. Check the list of the recipients via Operation>>Letter List. If happy with that mark the letter as OKed
  11. Run Operations>>Create Mailigen campaign. This will create a campaign on Mailigen side. Due to different business checks we can't send the campaign immediately
  12. Click Open Mailigen campaign button to go to Mailigen and send the campaign

...

  • install nodejs (for example: https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/setting-up-node-on-ec2-instance.html)
  • link mailigen folder to SERP root folder for example

    Code Block
    ln -s git/mailigen mailigen


  • install node package in mailigen folder (for example nmp install xmlhttprequest)
  • in SERP set up Timed Event MassMailCheckMn that will periodically update campaign status from Mailigen (i.e. is it created)
  • Add Mailigen settings in CRM > Settings > Mailigen Settings
    • Script runner - node (or full path to node, if just node does not work)
    • Campaign file location path - location, where the generated campaign files will be located. These indicate, which campaigns have been created. Example - tmp-mailigen/. The folder must exist!
    • Mailigen file location path - location, where the mailigen filed are located. In a previous step, the git/mailigen folder was linked to mailigen, so this should be mailigen/
    • API key - From Mailigen > Settings > API keys

Troubleshooting: 

  • If a mailigen.json file is created in the mailigen/ folder, with the corresponding letterNr, but a campaign has not been created, then that means that the HAL side has worked and the script has not been run - problem with either Script runner being defined incorrect or Campaign file location path. The folder must exist beforehand.
  • If it is possible to run node from the command line in the server folder and it executes without errors, but it does not work when running from the Letter, then that means that the Script runner is defined incorrect. On a successful run, a file should be made in the defined Campaign file location (mailigen+letterNr_timenow)