Yeah thanks @erohmensing for your prompt reply. I managed to work it out. and it worked
. I just created my custom json payload and uttered it through custom action using utter_custom_json method. And rendered it through my normal html front-end.
Below is the screenshot:

Custom payload through custom action:
class ActionCustomPayloadOne(Action):
def name(self) -> Text:
return "action_custom_payload"
def run(self, dispatcher: CollectingDispatcher,
tracker: Tracker,
domain: Dict[Text, Any]) -> List[Dict[Text, Any]]:
gt = {
"type" : "Hyperlink",
"level": "first_level",
"title": "I am here to help you with the following services:",
"links":[
{
"payload":"Register to fly a drone or model aircraft",
"link_text": "Register for drones or model aircrafts"
},
{
"payload": "our roles",
"link_text": "Our roles"
},
{
"payload": "recreational unmanned aircraft",
"link_text": "Recreational unmanned aircraft"
}
,
{
"payload": "model aircraft",
"link_text": "Model aircraft"
}
,
{
"payload": "commercial unmanned aircraft and drone operations",
"link_text": "Commercial unmanned aircraft and drone operations"
}
,
{
"payload": "larger unmannned aircraft",
"link_text": "Larger unmannned aircraft"
}
,
{
"payload": "information for public",
"link_text": "Information for public"
}
]
}
print("Inside custom action payload")
dispatcher.utter_custom_json(gt)
return []