Can we expose callback url to listen throw event by external system?

I would like to intergrate my process with external system. External System can start the msg based process. But, It can not listen any event from the camunda. Is it possible to listen through some callback handler?

@Ganesh_Gupta you can call external system through the listeners implementation.

You can configure TaskListeners, ExecutionListeners, JavaDelegates in the activity, in which you can call the external systems via REST api or even you can publish messages to kafka topics, etc.

TaskListeners: used to execute custom Java logic or an expression upon the occurrence of a certain task-related event.

ExecutionListeners: to execute external Java code or evaluate an expression when certain events occur during process execution.

Thanks for reply.
Do you have any sample to expose rest callback handler?
Can external system have the subscription through the rest api call?

@Ganesh_Gupta refer the below example:

public void execute(DelegateExecution execution) throws Exception {

        //access process variable
        String userId = execution.getVariable("userId").toString();

        //call REST service to lookup account
        Response response = (restTemplate.getForObject("https://reqres.in/api/users/" + userId, Response.class));

        //access object in Java, store a new process variable
        execution.setVariable("email", response.getData().getEmail());

        //serialize a java object into JSON and stored it in this way so Camunda knows it is JSON
        ObjectValue adJson = Variables
                .objectValue(response.getAd())
                .serializationDataFormat(Variables.SerializationDataFormats.JSON)
                .create();
        //add json object value as process variable
        execution.setVariable("Ad", adJson);
    }


Thanks for reply?

Can external system also have the subscription on throw message from camunda through the rest api call?