# Samples

Get a jumpstart on agent development by using one of our samples.

> [!NOTE]
> **Note:** For information about the libraries included in the samples, see [Client libraries](https://developers.google.com/business-communications/rcs-business-messaging/reference/libraries).

## Agents

| Agent | Description | Subscription type | Language |
|---|---|---|---|
| RBM Intro | Small code samples for each major RBM feature. | Pull | [Node.js](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/nodejs/rbm-intro) |
| First Agent | This agent asks "What is your favorite color?" and echos the user's response. All samples also include the full SDK for the RBM API. | Pull | [Java](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/java/agents/rbm-java-client-v1) [Node.js](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/nodejs/agents/rbm-nodejs-client-v1) [C#](https://developers.google.com/static/business-communications/rcs-business-messaging/samples/rbm-csharp-client-v1.zip) [Python](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/python/rbm-python-client-v1) |
| Kitchen Sink | This agent provides an interactive way to explore RBM's features on your device. | Push | [Java](https://developers.google.com/static/business-communications/rcs-business-messaging/samples/rbm-java-kitchen-sink.zip) [C#](https://developers.google.com/static/business-communications/rcs-business-messaging/samples/rbm-csharp-kitchen-sink.zip) |
| Product Ratings | This agent models a product-rating experience for RCS-enabled devices. | Pull | [Node.js](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/nodejs/agents/rbm-nodejs-product-ratings) |
| Two-Factor Authentication | This agent demonstrates how you can support two-factor authentication over RCS. | Pull | [Node.js](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/nodejs/agents/rbm-nodejs-2fa) |
| Telco Agent | This agent models interactions with a fictitious telecommunication company, including checking a plan's balance, processing upgrades, and returning billing information. | Push | [Python](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/python/agents/rbm-python-telco-agent) |
| Self-Serve Customer Support | This agent demonstrates how a live customer support queuing system can offer self-serve options to waiting users. Users can browse service options, upgrade services, and view their bills. | Pull | [Node.js](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/nodejs/agents/rbm-nodejs-telco-self-serve) |
| Acme Pizza | This agent uses the RBM Node.js SDK and Google Cloud Pub/Sub to send a simple marketing message. | Pull | [Node.js](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/nodejs/agents/rbm-nodejs-acme-pizza) |
| Acme Bank | This agent models banking workflows and integrates with Dialogflow for language processing and conversation fulfillment. This agent can also transition conversations to a live person in situations where the agent doesn't know how to respond. | Push | [Java](https://developers.google.com/static/business-communications/rcs-business-messaging/samples/banking-agent-java.zip) |
| Bonjour Rail | This agent models interactions with a railway company, including ticket delivery, seat selection, and payment for food options. | Push | [Java](https://developers.google.com/static/business-communications/rcs-business-messaging/samples/bonjour-rail-java.zip) |

## Tools

| Tool | Description | Language |
|---|---|---|
| Bulk Capability Check Script | This script demonstrates how to use the RBM SDK to check a large set of devices for RBM capability. To run this script against devices that aren't registered as [testers](https://developers.google.com/business-communications/rcs-business-messaging/guides/build/test), your agent must be [launched](https://developers.google.com/business-communications/rcs-business-messaging/guides/launch/launch-approval). | [Java](https://github.com/rcs-business-messaging/rbm-api-examples/tree/master/java/rbm-cap-check) |