# User info

***

You can send user information to Appflow\.ai backend in the following ways

```kotlin
Appflow.uploadUserInfo(UserAttribute attribute, UploadUserInfoListener listener)
```

&#x20;**Example**

```kotlin
val build = UserAttribute.Builder()
    .setName("user_name")
    .setPhone("user_phone")
    .setGender(UserGender.FEMALE)
    .setEmail("user_email")
    .setAge(18)
    .setCustomAttribute("address", "user_address")
    .setCustomAttribute("id", "user_id")
    .build()
Appflow.uploadUserInfo(build, object : UploadUserInfoListener {
    override fun onSuccess() {
    }
    override fun onFail(error: String?) {
    }
})
```

**API Reference**&#x20;

| UserAttribute                               |                           |
| ------------------------------------------- | ------------------------- |
| setName(name: String)                       | Set user name             |
| setEmail(email: String                      | Set user email            |
| setGender(gender: UserGender)               | Set user gender           |
| setPhone(phone: String)                     | Set user phone            |
| setAge(age: String)                         | Set user age              |
| setCustomAttribute(key: String, value: Any) | Set custom user attribute |

| UploadUserInfoListener |                  |
| ---------------------- | ---------------- |
| onSuccess()            | Success callback |
| onFail(error: String?) | Failure callback |
