# Customize an invitation
> The code on this page works with either the **default UI** or the **custom UI**.
## Customize the invitation method
To introduce a new invitation method - besides the
default methods like email and SMS, which we provided -
customize your own invitation method by doing the following.
Define an Activity with an `intent-filter` in your `AndroidManifest.xml`.
```xml
```
The action name `` should be **your
application package name**. For example, the demo application package
name is: `us.zoom.sdkexample` concatenates with `intent.action.MeetingInvite`.
> Tips
> The activity will be listed at the top of the **invite methods** list.
Next, edit your own invitation contents.
```java
Intent intent = getIntent();
Uri uri = intent.getData();
if(uri != null)
txtUrl.setText("URL:" + uri.toString());
String subject = intent.getStringExtra(AndroidAppUtil.EXTRA_SUBJECT);
if(subject != null)
txtSubject.setText("Subject: " + subject);
long meetingId = intent.getLongExtra(AndroidAppUtil.EXTRA_MEETING_ID, 0);
if(meetingId > 0)
txtMeetingId.setText("Meeting ID: " + meetingId);
String meetingPassword = intent.getStringExtra(AndroidAppUtil.EXTRA_MEETING_PSW);
if(meetingPassword != null)
txtPassword.setText("Password: " + meetingPassword);
String meetingRawPassword = intent.getStringExtra(AndroidAppUtil.EXTRA_MEETING_RAW_PSW);
if(meetingRawPassword != null)
txtRawPassword.setText("Raw Password: " + meetingRawPassword);
String text = intent.getStringExtra(AndroidAppUtil.EXTRA_TEXT);
if(text != null)
edtText.setText(text);
```
To disable all other invitation methods besides the one you create, add the following to `res/values/config.xml`.
```xml
true
```
## Customize the invitation content
To customize the invitation email subject and content, SMS content, and URL invitation text, follow these steps.
1. Create your invitation generator class, then implement this interface.
```java
import com.zipow.videobox.util.InviteContentGenerator;
public class MyInviteContentGenerator implements InviteContentGenerator {
...
}
```
Then, add the following into your `res/values/config.xml` file.
```xml
us.zoom.sdkexample.MyInviteContentGenerator
```
2. To change your **Email Topic**, override the `genEmailTopic` function.
```java
@Override
public String genEmailTopic(Context context, long meetingId, String meetingUrl,
String myName, String password, String rawPassword) {
...
}
```
3. To change your **Email Content**, override the `genEmailContent` function.
```java
@Override
public String genEmailContent(Context context, long meetingId,
String meetingUrl, String myName, String password, String rawPassword) {
...
}
```
4. To change your **SMS Content**, override the `genSmsContent` function.
```java
@Override
public String genSmsContent(Context context, long meetingId,
String meetingUrl, String myName, String password, String rawPassword) {
...
}
```
5. To change your **Copy URL Content**, override the `genCopyUrlText` function.
```java
@Override
public String genSmsContent(Context context, long meetingId,
String meetingUrl, String myName, String password, String rawPassword) {
...
}
```
> Null or empty value
>
> If the return value is **null** or **empty** the Zoom default invitation
> template will be used.
The parameters in the functions:
| Parameter | Definition |
| ---------- | ------------------- |
| context | Application context |
| meetingId | Meeting Number |
| meetingUrl | Meeting Url |
| myName | Display name |
| password | Meeting password |