We should always create a pending table:
[data, status, unique_key]
The column 'data' is for all the necessary data for an action encoded in JSON.
The column 'status' is for checking if it is done or not.
The column 'unique_key' is to identify the returning user.
With this way, the pending table is independent from the action table.