diff --git a/oser_backend/settings/common.py b/oser_backend/settings/common.py
index 84ccf8246385333d1cfbb3d32340090720319435..478aa5e2764bdef775cb33c2f28e3a9bd644b5a5 100644
--- a/oser_backend/settings/common.py
+++ b/oser_backend/settings/common.py
@@ -288,3 +288,12 @@ STATICFILES_DIRS = [
 
 MEDIA_URL = '/media/'
 MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
+
+# Telegram bot
+TELEGRAM_BOT_TOKEN = os.getenv(
+    "TELEGRAM_BOT_TOKEN")
+TELEGRAM = {
+    'bot_token': TELEGRAM_BOT_TOKEN,
+    'channel_name': 'oserSECGEN',
+    'production': False,
+}
diff --git a/profiles/admin.py b/profiles/admin.py
index f2094804f1fd73115fc5cc3f3823c138b8205078..e4976f4ef38425b24841dd2bdac2a21638e18bfd 100644
--- a/profiles/admin.py
+++ b/profiles/admin.py
@@ -57,5 +57,15 @@ class StudentAdmin(ProfileAdminMixin, admin.ModelAdmin, ExportCsvMixin):
 
     class Meta:  # noqa
         model = Student
-        ordering = ['updated_date']
+    ordering = ['-updated_date']
     actions = ["export_as_csv"]
+
+
+"""def post_event_on_telegram(event):
+    #message_html = render_to_string('telegram_message.html', {
+    #    'event': event
+    #})
+    telegram_settings = settings.TELEGRAM
+    bot = telegram.Bot(token=telegram_settings['bot_token'])
+    bot.send_message(chat_id="@%s" % telegram_settings['channel_name'],
+        text="test", parse_mode=telegram.ParseMode.HTML)"""
diff --git a/profiles/models.py b/profiles/models.py
index 669195e9ea56dd1ef3519d5981a048a0c8871ee3..39f392534f4ae0139a95d23da221eb6292e611aa 100644
--- a/profiles/models.py
+++ b/profiles/models.py
@@ -7,6 +7,10 @@ from .utils import get_promotion_range
 from datetime import datetime
 from .notifications import SendDocs
 
+import telegram
+from django.conf import settings
+from django.template.loader import render_to_string
+
 
 class ProfileMixin:
     """Mixin with common functionnality for profiles."""
@@ -189,6 +193,14 @@ class Student(ProfileMixin, models.Model):
             # send email with link to registration docs
             SendDocs(user=self.user).send()
 
+            # send a telegram message to oserSECGEN
+            telegram_settings = settings.TELEGRAM
+            if telegram_settings['bot_token'] != None:
+                message_telegram = "Un tutoré a renseigné ses données personnelles, il attend ta validation !"
+                bot = telegram.Bot(token=telegram_settings['bot_token'])
+                bot.send_message(
+                    chat_id="@%s" % telegram_settings['channel_name'], text=message_telegram, parse_mode=telegram.ParseMode.HTML)
+
         return super(Student, self).save(*args, **kwargs)
 
     class Meta:  # noqa
diff --git a/register/admin.py b/register/admin.py
index 34e2c392f051eaa955aba89c63ec8ae97d9e0fea..95a4138df47b10c89c2dac2604b074f5fe30404a 100644
--- a/register/admin.py
+++ b/register/admin.py
@@ -5,44 +5,6 @@ from .models import Registration
 from profiles.models import Student
 
 
-class SchoolFilter(admin.SimpleListFilter):
-    title = 'établissement'
-    parameter_name = 'profiles__school'
-
-    def lookups(self, request, model_admin):
-        list_of_school = []
-        query = Student.objects.values_list(
-            "school", flat=True).distinct()
-        for school in query:
-            list_of_school.append((school, school))
-        return list_of_school
-
-    def queryset(self, request, queryset):
-        if self.value():
-            emails = Student.objects.filter(
-                school=self.value()).values_list("user__email", flat=True)
-            return queryset.filter(email__in=emails)
-
-
-class SchoolFilter(admin.SimpleListFilter):
-    title = 'établissement'
-    parameter_name = 'profiles__school'
-
-    def lookups(self, request, model_admin):
-        list_of_school = []
-        query = Student.objects.values_list(
-            "school", flat=True).distinct()
-        for school in query:
-            list_of_school.append((school, school))
-        return list_of_school
-
-    def queryset(self, request, queryset):
-        if self.value():
-            emails = Student.objects.filter(
-                school=self.value()).values_list("user__email", flat=True)
-            return queryset.filter(email__in=emails)
-
-
 class SchoolFilter(admin.SimpleListFilter):
     title = 'établissement'
     parameter_name = 'profiles__school'
diff --git a/requirements.txt b/requirements.txt
index 85baa939feb52944045b1648211bc371283a6767..e1b2a84ccd78237e50e13e6499d1edbb55278e6b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -12,6 +12,10 @@ django-sendgrid-v5
 django-filter
 django-rest-auth
 
+# Telegram messages via python-telegram-bot
+tornado==5.1.1 
+python-telegram-bot==12.2.0
+
 # Storage of files in AWS S3
 django-storages
 boto3
diff --git a/runtime.txt b/runtime.txt
index 486fcce127f00eba90a4096290b67c31adaef0bd..0c89a2d2fcc8afa6b3b701fecccdbc6fb1b63c97 100644
--- a/runtime.txt
+++ b/runtime.txt
@@ -1 +1 @@
-python-3.6.5
+python-3.6.13