Hi team,
I have a Meta Human character configured with several External API tools
(Python handle_event) and I cannot get any of them to fire when the character
is interacted with via Pixel Streaming (the standard playground avatar
view). Looking for confirmation whether this is a platform limitation or a
config I am missing.
Setup
- Character: dental clinic receptionist (Meta Human, Pixel Streaming).
- LLM: GPT-4o (verified in Mindview, not gpt-4.1-mini).
- External API → 7 methods defined (identify_patient, check_availability,
book_appointment, lookup_appointment, list_my_appointments,
cancel_appointment, reschedule_appointment). - Each method’s Input Description JSON Schema is strictly valid:
every key inpropertiesis also listed inrequired(no optional keys
left in properties — I confirmed this is mandatory after a previous issue). Connecttoggle is ON for every method.- Python implementation is the standard
handle_event(method, params, ...)
pattern that POSTs to my backend with a shared secret. The backend logs
every incoming request. CONVAI_EXTERNAL_SECRETplaceholder is replaced with the real value in the
Python code.- Backstory contains explicit instructions to call these tools by name, with
examples and parameter formats.
Expected
When I say things like “Please book me an appointment for tomorrow at 13:00”
in the Pixel Streaming chat, the LLM should call
check_clinic_availability and then book_clinic_appointment via the
External API, and my backend should log those POST requests.
Actual
- The AI claims it did the work (e.g. “I checked availability,
10:30 is free”, “I booked your appointment FSA-1234”) — full hallucination. - My backend logs show zero requests from Convai’s IPs. Only the warm-up
pings I run myself. - In Mindview the system prompt rendered for the LLM contains only the
built-inlooktool. None of my External API tool definitions are
injected into the prompt.
Question
- Is it correct that Pixel Streaming / Meta Human playground does not
inject External API tool definitions into the LLM context, by design?
The Mindview output strongly suggests this — onlylookshows up. - If so, is the supported path to use External API tools either
Web Chat / Text Embed mode or the Unreal Engine SDK (custom
integration), and Pixel Streaming is intentionally limited to built-in
tools (look, etc.)? - Is there any roadmap item to bring External API tools to Pixel Streaming
Meta Humans? This would be a big unlock for voice-first business use cases
(clinics, hotels, support).
If this is the expected behavior, I’d suggest adding a clear note in the
External API docs (“Not available in Pixel Streaming mode — use Web Embed or
Unreal SDK”). It would have saved me a couple of debugging days.
Thanks in advance!