Question: I'm try to create an app with auto renewable subscription. But there is no auto renew option in list. 
Maybe I should make some preparations or it allowed only for specific categories?

[![New In-App Purchases list](https://i.stack.imgur.com/JhN0v.png)](https://i.stack.imgur.com/JhN0v.png)

Answer: 
The following example is to add a new action called 'approve' to the helper list:

You can add the following line of code in the constructor of your admin controller.

```
$this->addRowAction('approve');

```

Your initProcess() function should have following code:

```
public function initProcess()
    {
        parent::initProcess();
        if (Tools::getIsset('approve' . $this->table)) {
            $this->action = 'approveAction';
        }
    }

```

Then you have to define a function named processApproveAction() in the same controller.

```
public function processApproveAction()
{
--- YOUR CODE HERE ---
}

```

Hope this helps.
You can do your own action column.

You should include a row identifier field in your `select`:

```
$this->_select = ' a.id_order AS id_pdf';

```

Then, you can include this new field in your `field list`:

```
$this->fields_list = array(
            /*other fields here*/
            'id_pdf' => array(
                'title' => $this->l('Actions'),
                'width' => 35,
                'align' => 'center',
                'callback' => 'printPDFIcons',
                'orderby' => false,
                'search' => false,
                'remove_onclick' => true)
        );

```

Finally you must implement your `printPDFIcons` function. $id\_order will be your identifier and $tr is an array with all your row data:

```
    public function printPDFIcons($id_order, $tr)
    {
        $route_to_pdf = 'for example: route to a pdf file to download it';
        if ($route_to_pdf)
            return '<span class="btn-group-action">
                        <span class="btn-group">
                            <a class="btn btn-default" target="_blank" title="' . $this->l('Label PDF') . '" href="' . $route_to_pdf . '">
                                <i class="icon-print"></i>
                            </a>
                        </span>
                    </span>';
        else
            return '';
    }

```

If you want to execute some action when you click in your custom button you should display a link to the own `AdminController` and pass as `Action` parameter some identifier like `Generate`. Then use `postProcess` function to execute your specific code.

Good luck.