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

# Recieve MMS Messages

> Handle inbound MMS multimedia messages on a Plivo phone number

## Overview

This guide shows how to receive MMS messages on a Plivo phone number.

You can start receiving MMS messages either by using our PHLO visual workflow builder or our APIs. Follow the instructions in one of the tabs below.

> [tab] Using API
>
> There’s how to use Plivo APIs to receive MMS multimedia messages.
>
> ## How it works
>
> ![Receive MMS](https://mintcdn.com/plivo/7-odxN9fJG_Dg1dt/images/receive-mms-api.jpg?fit=max\&auto=format\&n=7-odxN9fJG_Dg1dt\&q=85\&s=1acf1d91ec85934808b313f0c7f1e40f)
>
> ## 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 MMS; 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 Python development environment.
>
> ## Create a Flask application to receive MMS messages
>
> Create a file called `receive_mms.py` and paste into it this code.
>
> ```py theme={null}
> from flask import Flask, request
>
> app = Flask(__name__)
>
> @app.route('/receive_mms/', methods=['GET', 'POST'])
> def inbound_sms():
>
>     from_number = request.values.get('From')
>     to_number = request.values.get('To')
>     text = request.values.get('Text')
>     media_url = request.values.get('Media0')
>     print('Message received - From: %s, To: %s, Text: %s, Media: %s' %(from_number, to_number, text, media_url))
>
>     return 'Message Recevived'
>
> if __name__ == '__main__':
>     app.run(host='0.0.0.0', debug=True)
> ```
>
> ## Create a Plivo application to receive messages
>
> 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](https://plivo.com/docs/account/api/application.md#create-an-application).
>
> Give your application a name — we called ours `Receive MMS`. Enter the server URL you want to use (for example `https://<yourdomain>.com/receive_mms/`) in the `Message URL` field and set the method to `POST`. Click **Create Application** to save your application.
>
> ![Create Application](https://mintcdn.com/plivo/Ac6PoKJHHxDx1U63/images/create_mms_app.png?fit=max\&auto=format\&n=Ac6PoKJHHxDx1U63\&q=85\&s=554cde1afc81c04a1566d4e1201f3d71)
>
> ## 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 `Receive MMS` (the name we gave the application).
>
> Click **Update Number** to save.
>
> ![Assign Phone Number to Receive MMS App](https://mintcdn.com/plivo/Ac6PoKJHHxDx1U63/images/assign_MMS_app.png?fit=max\&auto=format\&n=Ac6PoKJHHxDx1U63\&q=85\&s=4f86e1a1baff28cd0204d90913f665ee)
>
> ## Test
>
> Send a text message with an image, video, or audio attachment to the Plivo number you specified using any phone.
