> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # Prefabs > Pre-built agent templates for common conversational patterns. [agentbase]: /docs/server-sdks/reference/python/agents/agent-base Prefabs are ready-to-use agent classes that implement common conversational patterns. Each prefab extends [`AgentBase`][agentbase], so you can customize them with additional prompt sections, tools, skills, and languages. Use them directly for rapid prototyping or subclass them for production use. ```python from signalwire.prefabs import ( ConciergeAgent, FAQBotAgent, InfoGathererAgent, ReceptionistAgent, SurveyAgent, ) ``` | Prefab | Purpose | Built-in Tools | | ------------------------------------------------------------------------------------------ | ----------------------------------------- | -------------------------------------- | | [ConciergeAgent](/docs/server-sdks/reference/python/agents/prefabs/concierge-agent) | Venue information and booking assistance | `check_availability`, `get_directions` | | [FAQBotAgent](/docs/server-sdks/reference/python/agents/prefabs/faq-bot-agent) | Answer questions from a knowledge base | `search_faqs` | | [InfoGathererAgent](/docs/server-sdks/reference/python/agents/prefabs/info-gatherer-agent) | Collect answers to a series of questions | `start_questions`, `submit_answer` | | [ReceptionistAgent](/docs/server-sdks/reference/python/agents/prefabs/receptionist-agent) | Greet callers and transfer to departments | `collect_caller_info`, `transfer_call` | | [SurveyAgent](/docs/server-sdks/reference/python/agents/prefabs/survey-agent) | Conduct automated surveys with validation | `validate_response`, `log_response` | > **Tip** > > All prefabs can be extended by subclassing. Add custom tools with `define_tool()`, extra > prompt sections with `prompt_add_section()`, and skills with `add_skill()`. --- ## Extending Prefabs All prefabs inherit from [`AgentBase`][agentbase], so you can add custom tools, prompt sections, and skills: ```python from signalwire.prefabs import FAQBotAgent from signalwire.core.function_result import FunctionResult class MyFAQBot(FAQBotAgent): def __init__(self): super().__init__( faqs=[ {"question": "What is your return policy?", "answer": "30-day returns."} ] ) self.prompt_add_section("Brand", "You represent Acme Corp.") self.add_skill("datetime") self.define_tool( name="escalate", description="Escalate to human agent", parameters={}, handler=self.escalate ) def escalate(self, args, raw_data): return FunctionResult("Transferring to agent...").connect("+15551234567") if __name__ == "__main__": MyFAQBot().run() ``` #### [ConciergeAgent](/docs/server-sdks/reference/python/agents/prefabs/concierge-agent) Venue information and booking assistance. #### [FAQBotAgent](/docs/server-sdks/reference/python/agents/prefabs/faq-bot-agent) Answer questions from a knowledge base. #### [InfoGathererAgent](/docs/server-sdks/reference/python/agents/prefabs/info-gatherer-agent) Collect answers to a series of questions. #### [ReceptionistAgent](/docs/server-sdks/reference/python/agents/prefabs/receptionist-agent) Greet callers and transfer to departments. #### [SurveyAgent](/docs/server-sdks/reference/python/agents/prefabs/survey-agent) Conduct automated surveys with validation. > Pre-built agent templates for common conversational patterns. ## Docs - [ConciergeAgent](https://signalwire.com/docs/server-sdks/reference/python/agents/prefabs/concierge-agent.md): A virtual concierge that provides venue information, answers questions about amenities and services, helps with bookings, and gives directions. - [FAQBotAgent](https://signalwire.com/docs/server-sdks/reference/python/agents/prefabs/faq-bot-agent.md): Answers frequently asked questions by matching user queries against a provided knowledge base. - [InfoGathererAgent](https://signalwire.com/docs/server-sdks/reference/python/agents/prefabs/info-gatherer-agent.md): Collects answers to a series of questions in sequence, with optional confirmation for critical fields. - [ReceptionistAgent](https://signalwire.com/docs/server-sdks/reference/python/agents/prefabs/receptionist-agent.md): Greets callers, collects basic information about their needs, and transfers them to the appropriate department. - [SurveyAgent](https://signalwire.com/docs/server-sdks/reference/python/agents/prefabs/survey-agent.md): Conducts automated surveys with support for multiple question types, response validation, and structured result summaries.