In this section you will find out how to set up and start with the Zapier Connector for Mapp Engage.
Integrate your Marketing technology stack with Mapp Cloud and automate workflows between several systems.

Prepare your add-on set-up and mapping in Mapp Engage

_______________________________________________________________________________________________________________________________________________________________

To create integration between Zapier and Mapp Engage prepare your addon setup and mapping first

  1. Go to "Mapp Engage > Mapp Connect"




  2. Click on Connect New App and add the new Zapier integration.



  3. Regenerate secret key and copy it to notepad.



  4. Save the integration. Do not remove the secret key before finishing the authentication process.

  5. Open the saved integration again.

  6. Go to the Mapping tab. By default Mapp connect allows 3 subtypes of import mappings for Zapier: 
    • User - adds user core, custom, addon and group* attributes data and subscribe/unsubscribe user to a group (by using the "Unsubscribe" flag)
    • Transaction - adds order details (link to Transactions) to Transactional Related Data Table per email (requires user email, order id and product_sku) and allows to send an email with this transaction details and additional parameters
    • Email - allows sending an email (prepared message) to a user. It is possible to set additional parameters.

  7. Keep the mapping open in one tab and open Zapier in second one.

  8. Log in to your Zapier account.

  9. Install Mapp Connect app from this link. Note: Until our app is published, it has to be installed from an invitation.

  10. Go to the next step: Create a new Zap.

______________________________________________________________________________________________________________________________________________________________________________

Create a new zap

You can create multiple zaps from one integration, but each integration can use only one mapping.
For instance, only one source name can be mapped to the user “firstname” attribute.

  1. Set up the first element - data source and event. For example:




  2. Go to the second step and select Mapp Connect 0.2.0. You can search for it in the search pane.




  3. Choose between three scenarios depending on what you want your zap to do: 
    • Create User Event
    • Create Transactional Event
    • Create Event




  4. Click on Sign in to Mapp Connect.



  5. Choose API address related to your cluster - EMC or L3. If you are not sure which cluster you are using, ask your Account Manager.

  6. Copy the Integration ID from the integration tab in Mapp Engage and secret from the notepad.

  7. Click Yes, Continue.



Next steps:



Scenario 1: Create User Event

Scenario 2: Create Transactional Event

Scenario 3: Create Event

____________________________________________________________________________________________________________________________________________________________________________________

Scenario 1: Create User Event

If you choose Create User Event you can:

  • Add users to Mapp Engage group with attributes. The email field is always required.

    • Custom and Addon - core attributes are default in mapping and have to be set in Zapier UI.

    • Custom and Addon attributes have to be added with the name and value in section Additional parameters and added with source name in the mapping setup.

  • Update user profile
  • Unsubscribe users from the group - choose the group and switch the Unsubscribe flag to True.
  • Send an email (prepared message) to a single user with additional parameters: choose message-id from the list of prepared messages and add additional parameters and use them in emails (optional).


Save your zap and turn it on to go live!

______________________________________________________________________________________________________________________________________________

Scenario 2: Create Transactional Event

If you choose Create Transactional Event you can: 

  • Save user order details under Transactional Related Rata
    • Default mapping is set for transactions so you don't need to set them in Addon settings.
    • Only additional columns have to be added in Additional Parameters and added to the mapping. They need to be set in Transactional Related Rata first.
  • Save user order details under Transactional Related Rata and send order email (with additional parameters): choose message_id of the prepared message and use order details to present order details. Additional data can be added as parameters and used in email templates.



Save your zap and turn it on to go live!

_________________________________________________________________________________________________________________________________________________________________________________

Scenario 3: Create Event


If you choose Create Event you need to add an import Subtype which is the same as in the Settings in Engage ("Mapp Connect > Zapier Add-On > Mapping").


Save your zap and turn it on to go live!

___________________________________________________________________________________________________________________________________________________________

Add Facebook leads to Mapp Engage group

By using the Zapier Connector, you can easily add Facebook leads to Mapp Engage.  The setup below requires creating integration explained here


  1. Create a Lead campaign in your Facebook Marketing platform. 

  2. Add your Facebook account to Zapier. See this help article to find out how.

  3. Create new Zap.

  4. Choose Facebook as a source and click on Continue.




5. Choose "Mapp Connect > Create User Event"



6. Add fields from the source to be sent to Mapp Engage.

    1. Remember about field format – the email field is required.
    2. Mapping and Mapp Connect plugin covers all Mapp engage core attributes – you don’t need to add them in the Mapping tab in the addon setting. 
    3. Add any other (custom or addon) attributes and before turning on the zap, set them up in addon mapping settings.

Example 1: Add a custom attribute

Here we are adding one custom attribute. With a custom attribute, the user can have only one value which can be overridden by other integrations or by a Whiteboard.

  1. Create User Event with additional parameters in Zapier.



  2. Go to "Mapping Details" and add a new custom attribute by clicking on the + button

  3. Add the same source as in Zapier and choose an attribute from the drop-down list.


  4. Save your Zap and turn it on.


Example 2: Add an addon attribute

Here we are adding one addon attribute. With an addon attribute, you can have the same attribute but differentiated by integration. Every sales representative in your organization can have an integration set up.

This way, the values cannot be overridden and the customer can have different status per integration.


  1. Create User Event with additional parameters in Zapier.


2. Go to "Mapping Details" and add a new addon attribute by clicking on the + button

3. Add the same source as in Zapier and choose an attribute from the drop-down list.



4. Save your Zap and turn it on.

See how to send a transactional email with the order confirmation.

Further Recommendations

Entering a group can be a Whiteboard step for further campaign purposes. A user who is already in the system, will be added to the group and their attributes will be updated.

If the user is already in this group, member attributes will be updated. 

A similar path can be created for any other social media lead campaign or CRM system.

_____________________________________________________________________________________________________________________________________________________________

Send a transactional email with the order confirmation

To send an order confirmation email, follow these steps:

  1. Choose a prepared message with a template to show order details in the email. Example of a Transactional email template.
    If you don't choose a messageId, the transaction will be saved in Transactional Related Data, but the email won't be sent.

  2. Add additional parameters to the email which you do not want to store in Transactional Related Data but use in the email. For example shipping method, total order value, shipping cost, etc. (optional).

  3. If you choose Group, the user will be added to this group within this call (optional).

____________________________________________________________________________________________________________________________________________________________________________________________________________

Transactional email template with parameters

Example of a prepared order email template

<html>
  
<body>
  <p>Dear
    <%user.firstname%>
      <%user.lastname%>
  </p>
  <p> Thank you for shopping , please see your order no. <%${product['orderId']}%> details below: </p>
  <br>
      <table class="order-details">
        <tr>
          <td class="address-details">
            <h3>Billing Info</h3>
            <p>
              <%parameter.billingAddress%>
            </p>
          </td>
          <td class="address-details">
            <h3>Shipping Info</h3>
            <p>
              <%parameter.shippingAddress%>
            </p>
          </td>
        </tr>
        <tr>
          <td class="method-info">
            <h3>Payment Method</h3>
            <p>
              <%parameter.paymentInfo%>
            </p>
          </td>
          <td class="method-info">
            <h3>Shipping Method</h3>
            <p>
              <%parameter.shippingMethod%>
            </p>
  
            <%InsertIf expression="${not empty parameter['shippingMessage']}" id="1"%>
              <h3>Shipping message:</h3>
              <p>
                <%parameter.shippingMessage%>
              </p>
              <%/InsertIf%>
          </td>
        </tr>
      </table>
  
      <%ForEach var="product" items="${transaction_details}"%>
        <table width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;">
          <tr>
            <td align="top" style="padding-top:20px;">
              <table width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;">
                <tr>
                  <td align="center" class="someCSSSstyle">
                    <a href="<%${product['productURL']}%>" style="text-decoration:none;">
              <img src="<%${product['imageURL']}%>" width="280" border="0" style="display:block; width:100%; max-width:280px;" /></a>
                  </td>
                </tr>
                <tr>
                  <td style="padding-top:20px;">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%;">
                      <tr>
                        <td align="center" style="font-family: Arial, Helvetica, sans-serif; font-size:14px; line-height:18px; color:#aead9e; text-align:center;">
                          <a href="url" target="_blank" style="text-decoration:none; color:#aead9e;">
                           <span style="font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; font-weight:400;">
                          <%${product['brand']}%>
                           </span>
                           </a>
                        </td>
                      </tr>
                      <tr>
                        <td align="center" style="font-family: Arial, Helvetica, sans-serif; font-size:16px; line-height:20px; color:#57574f; text-align:center; padding-top:5px;">
                          <a href="url" target="_blank" style="text-decoration:none; color:#57574f;">
                           <span style="font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; font-weight:400;">
                          <%${product['productName']}%>
                           </span>
                           </a>
                        </td>
                      </tr>
                      <tr>
                        <td align="center" style="font-family: Arial, Helvetica, sans-serif; font-size:16px; line-height:20px; color:#57574f; text-align:center; padding-top:5px;">
                          <a href="url" target="_blank" style="text-decoration:none; color:#57574f;">
                           <span style="font-family: 'Open Sans', Arial, Helvetica, sans-serif !important; font-weight:400;">
                          Quantity: <%${product['productQuantity']}%>, Price per item: <%${product['productPrice']}%> <%${product['currency']}%>
                           </span>
                           </a>
                        </td>
                      </tr>
                    </table>
                  </td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
        <%/ForEach%>
  
          <table class="order-details">
            <tr>
              <td class="address-details">
                <h3>Shiping Price:</h3>
                <p>
                  <%parameter.shippingTotal%>
                </p>
              </td>
              <td class="address-details">
                <h3>Order items total:</h3>
                <p>
                  <%parameter.orderItemsTotal%>
                </p>
              </td>
            </tr>
          </table>
  
          <br>
          <h2> TOTAL:
            <%parameter.orderTotal%>
              <%${product['currency']}%>
          </h2>
          <br>
  
          <p>Greetings!</p>
</body>
  
</html>
XML

_______________________________________________________________________________________________________________________________________________________________________________________

Add order details from Shopify to Transaction Related Data Table

In this Best Practice, we will show you how to add order details from Shopify (or another eCommerce data provider) to Transaction Related Data Table.

  1. Create a new Zap and choose Shopify.


2. Choose Mapp Connect 0.2.0 and Create Transaction Event.


3. Mapping for transactions is set by default between Mapp Engage and Zapier so you need to provide a source from Shopify data fields. 

See details on fields and mapping.

__________________________________________________________________________________________________________________________________________________________________________

Fields and Mapping

Source

Mapp Engage

Required

Comment

Type

Email

email

YES

User email is changed to userId, if the user is not in the system, he will be added 

string

OrderId

orderId

YES

Id of this order 

datetime

Timestamp

timestamp

NO

If the timestamp is not provided, it saves time from an incoming call

number

StoreId

storeId

NO

For multi-shop purposes

string

Currency

currency

NO

The default currency is set in Transactional RD, if not provided here default one is assigned

string

ProductSKU

productSKU

YES

Product identifier 

string

ProductPrice

productPrice

YES

Product price without currency, spaces etc, just a raw number

number

ProductQuantity

productQuantity

YES

Quantity of this product in this order

number

ImageURL

imageURL

NO

Link (URL) to the product image

string

ProductURL

productURL

NO

Link (URL) to the product page

string

Category

category

NO

Category of this product

string

Brand

brand

NO

Brand of this product

string

Variant

variant

NO

If the productSKU does not provide variant (like colour or material) or size use this field. 

string

DiscountValue

discountValue

NO

Value (without currency) of discount per order (not per item)

number

DiscountPercent

discountPercent

NO

The percentage value of discount per order (not per item) - value from 0 to 1

number

PurchaseSource

purchaseSource

NO

Source (campaign name, Facebook etc) of this order 

string

customDetail1

customDetail1

NO

Custom transactional details need to be first defined in Transactional Related data structure and added to mapping similar to adding user attributes but in Transaction mapping. Add them in additional parameters (screenshot below)

defined by a customer in RD structure

________________________________________________________________________________________________________________________________________________________________________________________________

Send an email with parameters

You can also send an email to users once they trigger action in any 3rd party app.

The Email field is required. Adding Group is not required. If you choose Group, the user will be added to it.

  1. Choose any source of data as shown here.
  2. Choose Mapp Connect and Create Event .

3. Type Subtype User, Transaction or any other created mapping in addon settings.

4. Choose the prepared message you want to send.

5. Add Additional Parameters which are used in your prepared message template (optional)

6. Save and turn on your zap.