> ## 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.

# Forward Incoming SMS Messages

> Forward incoming SMS messages from a Plivo number to another number

## 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.

<Tabs>
  <Tab title="Using API">
    Here’s how to use Plivo APIs to forward incoming SMS text messages.

    <h2 id="api-how-it-works">How it works</h2>

    <Frame>
      <img src="https://mintcdn.com/plivo/2OFvQXVNT3srKLUy/images/forward-incoming-sms-api.jpg?fit=max&auto=format&n=2OFvQXVNT3srKLUy&q=85&s=25e81a6e7df523c71c17e52e775db712" alt="Forward SMS" width="1446" height="774" data-path="images/forward-incoming-sms-api.jpg" />
    </Frame>

    <h2 id="api-prerequisites">Prerequisites</h2>

    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](/docs/numbers/). If this is your first time using Plivo APIs, follow our instructions to set up a .NET development environment and a web server and safely expose that server to the internet.

    <h2 id="api-create-an-mvc-controller-to-forward-messages">Create an MVC controller to forward messages</h2>

    In Visual Studio, create a new project. Use the template for Web Application (Model-View-Controller).

    <Frame>
      <img src="https://mintcdn.com/plivo/2OFvQXVNT3srKLUy/images/create_mvcapp.png?fit=max&auto=format&n=2OFvQXVNT3srKLUy&q=85&s=342cab800d30d99fb9cdb362a91ccab8" alt="Create an MVC app" width="1198" height="706" data-path="images/create_mvcapp.png" />
    </Frame>

    Give the project a name — we used `Forwardsms`.

    Navigate to the Controllers directory in the Forwardsms project. Create a controller named `ForwardsmsController.cs` and paste into it this code.

    ```cs theme={null}
    using System;
    using System.Collections.Generic;
    using Microsoft.AspNetCore.Mvc;

    namespace Forwardsms.Controllers
    {
        public class ForwardsmsController : Controller
        {
            // GET: /<controller>/
            public IActionResult Index()
            {
                String from_number = Request.Form["From"];
                String to_number = Request.Form["To"];
                String text = Request.Form["Text"];
    			Plivo.XML.Response resp = new Plivo.XML.Response();
    			resp.AddMessage(text,new Dictionary<string, string>()
    			{
    				{"src", to_number},
    				{"dst", "<destination_number>"},
    				{"type", "sms"}
    			});
    			var output = resp.ToString();
    			Console.WriteLine(output);
    			return this.Content(output, "text/xml");
    		}
        }
    }
    ```

    Replace the destination number placeholder with an actual phone number in [E.164 format](https://en.wikipedia.org/wiki/E.164) (for example, +12025551234).

    Expose your local server to the internet.

    <h2 id="api-create-a-plivo-application-to-forward-messages">Create a Plivo application to forward messages</h2>

    Associate the controller 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](/docs/account/api/application/#create-an-application).

    Give your application a name — we called ours `Forward SMS`. Enter the server URL you want to use (for example `https://<yourdomain>.com/forwardsms/`) in the `Message URL` field and set the method to `POST`. Click **Create Application** to save your application.

    <Frame>
      <img src="https://mintcdn.com/plivo/EvRfP72Bjs4tuRt5/images/configure_forward_sms.png?fit=max&auto=format&n=EvRfP72Bjs4tuRt5&q=85&s=67028b1806531bc2933f226dc6529f9d" alt="Create Application" width="1440" height="820" data-path="images/configure_forward_sms.png" />
    </Frame>

    <h2 id="api-assign-a-plivo-number-to-your-application">Assign a Plivo number to your application</h2>

    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 `Forward SMS` (the name we gave the application).

    Click **Update Number** to save.

    <Frame>
      <img src="https://mintcdn.com/plivo/NFI9_HRHTMInDf93/images/assign_forward_sms.png?fit=max&auto=format&n=NFI9_HRHTMInDf93&q=85&s=a8a937ebbe5746155ebb2783179a11b2" alt="Assign Phone Number to Forward SMS App" width="1440" height="821" data-path="images/assign_forward_sms.png" />
    </Frame>

    <h2 id="api-test">Test</h2>

    Send a text message to the Plivo number you specified using any phone. The message should be forwarded to the destination number you specified.
  </Tab>
</Tabs>
