# Subscriptions

Subscriptions allow you to automatically call desired functionality in response to some events happening with SDK integrations. The exact list of events is defined by integration type. See the exact subscription list for [click listeners](https://docs.whisk.com/shopping-list-sdk/event-listeners#click-listeners) and [widgets](https://docs.whisk.com/shopping-list-sdk/basic-setup/widget).

In order to create a new subscription call whisk.events.subscribe(`element_id`, `event_name`, `callback`) function, which will call callback function when an event with `event_name`happens for DOM element with `element_id`id attribute.

A callback function will be called with a single argument which has the following type definition:

| ATTRIBUTE | TYPE   | DESCRIPTION                                        |
| --------- | ------ | -------------------------------------------------- |
| type\*    | string | Type of the event.                                 |
| data      | object | It contains data custom for each particular event. |

In order to remove the subscription call whisk.events.unsubscribe(element\_id, event\_name, callback) function.
