diff --git a/tweetbutton.module b/tweetbutton.module
index 7ec1891..bf09b6d 100644
--- a/tweetbutton.module
+++ b/tweetbutton.module
@@ -474,3 +474,38 @@ function theme_tweetbutton_hashtag_display($variables) {
   return '<div class="tweetbutton-hashtag tweetbutton">' . $hash_link . '</div>';
 }
 
+/**
+ * Implements hook_ds_fields_info().
+ */
+function tweetbutton_ds_fields_info($entity_type) {
+  $fields = array();
+
+  if ($entity_type == 'node') {
+    $fields['node'] = array();
+    $fields['node']['tweetbutton_ds_field'] = array(
+      'title' => t('Tweet Button'),
+      'field_type' => DS_FIELD_TYPE_FUNCTION,
+      'function' => '_tweetbutton_ds_field',
+    );
+  }
+
+  return $fields;
+}
+
+/**
+ * Callback for ds button.
+ */
+function _tweetbutton_ds_field($field) {
+  if (!user_access('use tweetbutton field')) {
+    return '';
+  }
+  $entity =  $field['entity'];
+  $uri = entity_uri($field['entity_type'], $entity);
+  $variables['options'] = array(
+    'url' => url($uri['path'], array('absolute' => TRUE)),
+  );
+  $variables['entity'] = $entity;
+  $variables['entity_type'] = $entity->type;
+
+  return theme('tweetbutton_tweet_display', $variables);
+}
