> ## Documentation Index
> Fetch the complete documentation index at: https://plivo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Reply to Incoming SMS

> Receive and send automated replies to incoming SMS text messages

## Overview

This guide shows how to receive SMS text messages on a Plivo phone number — something you might want to do to acknowledge a request from a customer, handle opt-ins and opt-outs, or implement an autoresponder application.

You can reply to SMS messages either by using our PHLO visual workflow builder or our APIs. Follow the instructions in one of the tabs below.

> [tab] Using API
>
> Here’s how to use Plivo APIs to reply to incoming SMS text messages.
>
> ## Prerequisites
>
> To get started, you need a Plivo account —  [sign up](https://cx.plivo.com/signup) with your work email address if you don’t have one already. To receive incoming messages, you must have a Plivo phone number that supports SMS; you can rent numbers from the [Numbers](https://cx.plivo.com/phone-numbers) page of the Plivo console or by using the [Numbers API](https://plivo.com/docs/numbers.md). If this is your first time using Plivo APIs, follow our instructions to set up a Java development environment and a web server and safely expose that server to the internet.
>
> ## Create a Spring application to reply to messages
>
> Use [Spring Initializr](https://start.spring.io/) to create a boilerplate project called `Plivo SMS`. Open the file `PlivoSmsApplication` and paste into it this code.
>
> ```java theme={null}
> package com.example.Plivo.SMS;
>
> import com.plivo.api.exceptions.PlivoXmlException;
> import com.plivo.api.xml.Message;
> import com.plivo.api.xml.Response;
> import org.springframework.boot.SpringApplication;
> import org.springframework.boot.autoconfigure.SpringBootApplication;
> import org.springframework.web.bind.annotation.GetMapping;
> import org.springframework.web.bind.annotation.RestController;
>
> @RestController
> @SpringBootApplication
> public class PlivoSmsApplication {
>
> 	public static void main(String[] args) {
> 		SpringApplication.run(PlivoSmsApplication.class, args);
> 	}
>
> 	@GetMapping(value = "/replysms/", produces = {"application/xml"})
> 	public String getBody(String From, String To, String Text) throws PlivoXmlException {
> 		System.out.println(From + " " + To + " " + Text);
> 		Response res = new Response().children(
> 				new Message(To, From, "Thank you, we received your request"));
> 		return res.toXmlString();
> 	}
>
> }
> ```
>
> Expose your local server to the internet.
>
> ## Create a Plivo application to reply to messages
>
> Associate the Spring application you created with Plivo by creating a Plivo application. Visiting Messaging > [Applications](https://cx.plivo.com/xml-applications) and click **Add New Application**. You can also use Plivo's [Application API](https://plivo.com/docs/account/api/application.md#create-an-application).
>
> Give your application a name — we called ours `Reply Incoming SMS`. Enter the server URL you want to use (for example `http://<yourdomain>.com/replysms/`) in the `Message URL` field and set the method to `POST`. Click **Create Application** to save your application.
>
> ![Create Application](https://mintcdn.com/plivo/2OFvQXVNT3srKLUy/images/create_reply_sms.png?fit=max\&auto=format\&n=2OFvQXVNT3srKLUy\&q=85\&s=0371a975aa748267124e9ea9debc7a0f)
>
> ## Assign a Plivo number to your application
>
> Navigate to the [Numbers](https://cx.plivo.com/phone-numbers) page and select the phone number you want to use for this application.
>
> From the Application Type drop-down, select `XML Application`.
>
> From the Plivo Application drop-down, select `Reply Incoming SMS` (the name we gave the application).
>
> Click **Update Number** to save.
>
> ![Assign Phone Number to Reply SMS App](https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/assign_reply_incoming_sms.png?fit=max\&auto=format\&n=NFI9_HRHTMInDf93\&q=85\&s=7f440f6a930c41f1f3393744857b50c3)
>
> ## Test
>
> Send a text message to the Plivo number you specified using any phone. You should receive a reply.
