diff --git a/salesforce_api/misc/salesforce_api.admin.js b/salesforce_api/misc/salesforce_api.admin.js
index 448ed2d..f85d876 100644
--- a/salesforce_api/misc/salesforce_api.admin.js
+++ b/salesforce_api/misc/salesforce_api.admin.js
@@ -26,7 +26,8 @@ Drupal.sf_fieldmap_option_change = function(context) {
 Drupal.sf_fieldmap_option_toggle = function(context, fieldname) {
   var fielddiv = '#' + fieldname + '-extra-hidden';
   if ($(context).val() == 'fixed'
-   || $(context).val() == 'php')  {
+   || $(context).val() == 'php'
+   || $(context).val() == 'tokens')  {
     $(fielddiv).show();
   } else  {
     $(fielddiv).hide();
diff --git a/salesforce_api/salesforce_api.admin.inc b/salesforce_api/salesforce_api.admin.inc
index f21009b..815e4a9 100644
--- a/salesforce_api/salesforce_api.admin.inc
+++ b/salesforce_api/salesforce_api.admin.inc
@@ -692,6 +692,7 @@ function salesforce_api_fieldmap_edit_form($form, &$form_state, $map) {
   // Adding fixed value and evaluate PHP options
   $options = salesforce_api_fieldmap_field_options($source);
   $options['Other']['fixed'] = t('Fixed value');
+  $options['Other']['tokens'] = t('Tokens value');
   if ( user_access('use php for salesforce fixed values') ) {
     $options['Other']['php'] = t('Evaluate PHP');
   }
@@ -802,6 +803,22 @@ function salesforce_api_fieldmap_edit_form($form, &$form_state, $map) {
   // Combine the rows arrays into one with required fields displayed first.
   $form['fields']['rows'] = array_merge($rows['required'], $rows['optional']);
   $form['fields']['rows']['#tree'] = TRUE;
+
+  if (module_exists('token')) {
+    // Tokens Help
+    $form['token_help'] = array(
+      '#title' => t('Replacement patterns'),
+      '#type' => 'fieldset',
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
+    );
+    $form['token_help']['help'] = array(
+      '#theme' => 'token_tree',
+      '#token_types' => array($map->drupal_entity),
+      '#global_types' => TRUE,
+    );
+  }
+
   $form['submit'] = array(
     '#type' => 'submit',
     '#value' => t('Save changes'),
diff --git a/salesforce_api/salesforce_api.module b/salesforce_api/salesforce_api.module
index 3868402..3d462a7 100644
--- a/salesforce_api/salesforce_api.module
+++ b/salesforce_api/salesforce_api.module
@@ -1048,6 +1048,11 @@ function salesforce_api_fieldmap_export_create($name, $drupal_data = NULL) {
             $value = $map->fields[$sf_fieldname]['value'];
           }
           break;
+        case 'tokens':
+          if (isset($map->fields[$sf_fieldname]['value'])) {
+            $value = token_replace($map->fields[$sf_fieldname]['value'], array($map->drupal_entity => $drupal_data), array('clear' => TRUE, 'sanitize' => FALSE));
+          }
+          break;
         case 'php':
           if (isset($map->fields[$sf_fieldname]['value'])) {
             $value = eval($map->fields[$sf_fieldname]['value']);
