Skip to main content
Inputs let you send additional data asynchronously to the Innate agent while an agent is running. They are useful when integrating external signals such as added sensors (for example directional microphone or air-quality sensor), network events (for example incoming emails or webhook alerts), and internal robot status events. The most important part is that an input can send live feedback to the Innate agent while the agent is executing. An input device is a small Python class with three pieces: a name property (how agents reference it), on_open() (called when an agent using it starts), and on_close() (called when it stops). In between, you call self.send_data(...) whenever you have something to report — that’s the whole interface.

Attach it to an agent

def get_inputs(self) -> list[str]:
    return ["my_input"]
When the agent starts, on_open() is called and the Innate agent begins receiving your input’s updates.

Go deeper

  • Definition — the full interface, a copy-paste template, and the data types you can send
  • Example: Microphone — how the built-in micro input works under the hood