The logic to fetch or create data for TouchUI inbox is at the Java side, below is the basic flow:
~ A request to '/aem/inbox' resolves to path '/libs/cq/inbox/content/inbox'.
~ This renders data per [1] which creates the html page per [2].
~ At the same time [1] triggers a get request to fetch the data for the inbox page [3] which is handled by a servlet [4] and used by [2] to create the complete inbox page.
~ Further on logic goes to [5] and [6] to fetch the data per the logic.
[0]: /libs/cq/inbox/content/inbox
[1]: /libs/cq/inbox/content/inbox/jcr:content/views/list/datasource
[2]: /libs/cq/inbox/gui/components/inbox/inboxitem/list/list.html
[3]: cq/inbox/gui/components/inbox/datasource/itemsdatasource
[4]: com.adobe.cq.inbox.impl.servlet.ItemsDataSourceServlet.java
[5]: com.adobe.granite.workflow.core.WorkflowSessionImpl.java
[6]: com.adobe.granite.workflow.core.jcr.WorkItemManager.java