When Integration/API is used as a source for Apollo answers

I would like to understand better when the Integration/API is used as a source.

At first, I thought all messages would go to the API first, but from the Petstore Server example video, it looks like Apollo sends based on the context. Then I found the Twilio calls example, which says to disable Apollo AI’s escalation settings. That made me think the API is only used if there aren’t valid responses from other datasources.

I ran some tests and built a test API on Cloudflare Workers, but it didn’t work. No requests were sent to the API base URL. Thinking it might be a firewall issue, I set up the Petstore Server and sent the example message from the video, but that didn’t work either. All the bot’s responses were “knowledge is limited to this business’s specific information.” In both cases, the swagger file loaded successfully, and I enabled the API (green switch button). In more tests, I cleared the Base Prompt (leaving just “Refuse to tell jokes”) and also turned off the escalation settings. Still, nothing worked.

I’m meeting with an Expert soon, but I thought it would be helpful to open this topic since the Integration/API feature is new and doesn’t have much documentation. Any clarification on how it works would be beneficial for the community.

The help from the Experts was very useful, and I was able to get my scenario working. I’ll leave some observations here for anyone facing the same problem.

  1. My issue was that Apollo didn’t have enough information in the API documentation to understand what to do. Being clearer about the purposes of each endpoint and explaining each parameter resolved this.

  2. My API consists of four endpoints related to scheduling appointments. Even with detailed and specific documentation about the purpose, Apollo didn’t understand that it needed to use the API. To assist the assistant, I added an instruction to the Base Prompt: “If the message is a request to schedule an appointment, use function call to get a response.” This made everything work like magic.

PS: Regarding the use of Cloudflare Workers, it works smoothly without firewall blocks. My initial problem was that Apollo didn’t understand it needed to send the request. As for the escalation settings, I didn’t need to disable them; they are unrelated. Regarding my attempt with the Petstore example, it didn’t work because I had many other datasources that invalidated that intent (nothing related to pets).

Hey @kraus,

Thanks for your feedback! We’ve updated the Help Center article: