diff --git a/hiboo/profile/admin.py b/hiboo/profile/admin.py
index d67d68de0380ccc84d3e0f94e251745421775936..fa465d2e433f526510534b6ad33ec1bbee6d6356 100644
--- a/hiboo/profile/admin.py
+++ b/hiboo/profile/admin.py
@@ -1,5 +1,6 @@
 from hiboo.profile import blueprint
 from hiboo import security, models
+from hiboo import user as hiboo_user
 from flask_babel import lazy_gettext as _
 
 import flask
@@ -56,3 +57,16 @@ def set_status(profile_uuid, status):
     models.db.session.commit()
     flask.flash(_("Profile status was successfully changed"), "success")
     return flask.redirect(flask.url_for(".details", profile_uuid=profile_uuid))
+
+
+@blueprint.route("/assign/<profile_uuid>", methods=["GET", "POST"])
+@security.admin_required()
+def assign(profile_uuid):
+    profile = models.Profile.query.get(profile_uuid) or flask.abort(404)
+    assert profile.status == "unclaimed"
+    user = hiboo_user.get_user(intent="profile.assign", profile_uuid=profile_uuid)
+    profile.user_uuid = user.uuid
+    profile.status = "active"
+    models.db.session.commit()
+    flask.flash(_("Successfully assigned the profile"), "success")
+    return flask.redirect(flask.url_for(".details", profile_uuid=profile_uuid))
diff --git a/hiboo/profile/templates/profile_details.html b/hiboo/profile/templates/profile_details.html
index e973ccbad21175a566389bbbee322d8b441bbd1a..1c446eb3a51877a9eb1373392bd9873eec4321d8 100644
--- a/hiboo/profile/templates/profile_details.html
+++ b/hiboo/profile/templates/profile_details.html
@@ -43,5 +43,7 @@
 <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}" class="btn btn-success">{% trans %}Unblock profile{% endtrans %}</a>
 {% elif profile.status == "request" %}
 <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}" class="btn btn-success">{% trans %}Validate profile{% endtrans %}</a>
+{% elif profile.status == "unclaimed" %}
+<a href="{{ url_for("profile.assign", profile_uuid=profile.uuid) }}" class="btn btn-info">{% trans %}Validate profile{% endtrans %}</a>
 {% endif %}
 {% endblock %}
diff --git a/hiboo/profile/templates/profile_list.html b/hiboo/profile/templates/profile_list.html
index fc4990d5a195b0a90e9ed32d0d3ce723587da5b9..08b1e6f95eb9f315be662bc011bbeaa9b82cf688 100644
--- a/hiboo/profile/templates/profile_list.html
+++ b/hiboo/profile/templates/profile_list.html
@@ -49,6 +49,8 @@
               <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}">{% trans %}Unblock profile{% endtrans %}</a>
               {% elif profile.status == "request" %}
               <a href="{{ url_for("profile.set_status", profile_uuid=profile.uuid, status="active") }}">{% trans %}Validate profile{% endtrans %}</a>
+              {% elif profile.status == "unclaimed" %}
+              <a href="{{ url_for("profile.assign", profile_uuid=profile.uuid) }}">{% trans %}Assign profile{% endtrans %}</a>
               {% endif %}
             </td>
           </tr>