Adding VBO to an entity
In your hook_views_data implementation, you need to specify that the table is about an entity.

You need to define the entity first. I assume you have already defined your new entity using hook_entity_info.

&lt;?php 
function hook_entity_info() {
  return array(
    'my_table_item' =&gt; array(
      'label' =&gt; 'My new entity item',
      'base table' =&gt; 'my_table',
      'load hook' =&gt; 'my_table_item_load',
      'entity keys' =&gt; array(
        'id' =&gt; 'mtid',
        'label' =&gt; 'My new entity item',
      ),
    ),
  );
}
?&gt;


Then, mention this new entity type in the hook_views_data implementation.

&lt;?php
function hook_views_data() {
  $data = array()
  $data['my_table'] = array(
    'table' =&gt; array(
      'base' =&gt; array(
        'field' =&gt; 'mtid', // Primary field
        'title' =&gt; 'My new entity item',
        'help' =&gt; 'My Table',
      ),
      'entity type' =&gt; 'my_table_item', // &lt;-- Important. Set the entity type here.
      'group' =&gt; 'My Table',
    ),
  );
}
?&gt;


VBO will start to show actions that are type of entity in the available actions. 
To add new actions, implement hook_action_info.

&lt;?php
function hook_action_info() {
  return array(
    'my_table_do_awesome_things' =&gt; array(
      'type' =&gt; 'my_table_item', // &lt;-- New entity type here
      'label' =&gt; t('Do awesome things'),
      'behavior' =&gt; array('changes_property'), //&lt;-- Triggers an entity save. 
      'configurable' =&gt; FALSE,
      'vbo_configurable' =&gt; FALSE,
      'triggers' =&gt; array('any'),
    ),
  );
}
?&gt;


I'm the first author (improved by the community later) of VBO for Drupal 7 drupal.org documentation. Have a look at it as well, for a deeper explanation for hook_action_info and making them configurable at VBO level.