I am not an engineer, so I don't know enough about integrating with APIs, but I would think a bot could use natural language to talk to another bot without integrating or even know about the other bot prior to the user needing it. Essentially, the user is talking to one bot that is finding and passing along the message to the other bot and vice versa.
Bot A > finds bot b > adds bot b as friend > asks bot b for a list of a commands > forwards bot b commands to user or interprets the users natural language in a way that maps to bot b's common commands> returns any results or errors and shares whatever relevant data, acting as middle man between user and bot b.
To me this sound simpler to create than a bot that needs to map to every APIs functions, etc... Even with a middleware tool...It still needs to hook into it. However, if those APIs have conversational interfaces, than users can interact with everything magically.
Maybe my lack of tech knowledge has me imagining a utopia that isn't technically feasible...but to me this sounds like a solution that can replace 30% or more of my web and app interactions completely and simplify another 20%.
Let's assume user selected Bot B to be added as friend for Bot A.
Bot A asks Bot B for a list of commands > This is essentially making an API call or Bot A sending a chat message to Bot B "Please send me all your public commands" (which is a simplified NLP API call)
However Bot B might not want to expose all its NLP command keywords (that is after all their Intellectual property) or it is too complex to send all commands because of myriad of ways an NLP query can be structured.
I like your idea of a conversational API. Maybe there is a better way to do that and definitely something worth thinking about.
Regarding the future of chat, the problem is these chat apps are trying to become task help apps. What is the purpose of chat/group chat? Communication, discussion, planning, sharing between "friends/contacts" (not between me and a bot) Communication with a friend or contact does not require a bot. Discussion with a friend, group of friends or contacts does not require a bot Sharing content with a friend, group of friends or contacts does not require a bot.
The only thing that requires a bot is planning an outing, trip, dinner, etc. with a friend or group of friends or contacts. For that I think it is better to have a general purpose bot. Here's how I envision that use case with a bot called JEEVES.
ME: Hey have you guys watched Zootopia yet?
FRIEND 1: Nah I want to but didn't have the time. I'm free tonight if you want to go.
FRIEND 2: Yeah count me in too
ME: JEEVES find us a movie theater close to us that's playing Zootopia tonight.
JEEVES: There are 3 theaters close to all of you that's playing Zootopia tonight. Theater 1 at (map)Location 1 is playing it at 9PM, Theater 2 at (map)Location 2 is playing it at 8:30PM, Theater 3 at (map)Location 3 is playing it at 10:PM
ME: you guys wanna get dinner before the movie?
FRIEND 1: Sure
FRIEND 2: Nah having dinner with GF's parents today.
ME: JEEVES find us some chinese restaurants near Theater 3.
so on and so on.
JEEVES can then book tickets, make a reservation, put the event on calendars, send restaurant location to just the 2 people who agreed to have dinner, etc.