If an API is taking 3-4 minutes to complete then I really think you should reconsider the design.
This is conversation, so just imagine the experience between two people where one of them asks a question and the other person doesn’t respond at all for 3+ minutes.
One possibility is that the first service request starts the process but generates a response immediately, and hence the request is complete, while the actual processing continues in the background. This is idea behind the 202 http response code.
Then periodically make another request to see if the processing has completed or not. If not (a 202 response) then the user can be informed of progress and be reassured to hang in there without them asking about it. Remember, unless you do anything in the client to stop the user typing anything while the request is ongoing then whatever is entered is going to be queued up to be processed by the bot later.
This kind of processing pattern can be built in dialogs.