diff --git a/gracedb/events/translator.py b/gracedb/events/translator.py
index 288637f58b07cbce7f48dba07feef1ee8867e93f..30bef5f52752893a822d444d620c461c18922ed5 100644
--- a/gracedb/events/translator.py
+++ b/gracedb/events/translator.py
@@ -613,15 +613,15 @@ def populateGrbEventFromVOEventFile(filename, event):
     # Assign information to event
     event.gpstime = gpstime
     event.ivorn = v.get('ivorn')
-    event.author_shortname = v.Who.Author.shortName
-    event.author_ivorn = v.Who.AuthorIVORN
+    event.author_shortname = v.Who.Author.shortName.text
+    event.author_ivorn = v.Who.AuthorIVORN.text
     event.observatory_location_id = \
         v.WhereWhen.ObsDataLocation.ObservatoryLocation.get('id')
     event.coord_system = pos2d.system
     event.ra = pos2d.ra
     event.dec = pos2d.dec
     event.error_radius = pos2d.err
-    event.how_description = v.How.Description
+    event.how_description = v.How.Description.text
     event.how_reference_url = v.How.Reference.get('uri')
 
     # Try to find a trigger_duration value
diff --git a/gracedb/migrations/guardian/0006_authorize_emfollow_to_populate_pipelines.py b/gracedb/migrations/guardian/0006_authorize_emfollow_to_populate_pipelines.py
new file mode 100644
index 0000000000000000000000000000000000000000..b281dd9d6cd0afd9ce74a89baefd9736cbd07b5d
--- /dev/null
+++ b/gracedb/migrations/guardian/0006_authorize_emfollow_to_populate_pipelines.py
@@ -0,0 +1,69 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.11.18 on 2019-05-08 16:27
+# This migration adds permission for the emfollow user to
+# populate the spiir, MBTAOnline, and pycbc pipelines. Requested
+# by Roberto de Pietri, 10/21/2019
+
+from __future__ import unicode_literals
+
+from django.db import migrations
+
+USER_NAME = 'emfollow'
+PIPELINES = [
+    'spiir',
+    'MBTAOnline',
+    'pycbc',
+]
+
+
+def add_permissions(apps, schema_editor):
+    User = apps.get_model('auth', 'User')
+    Permission = apps.get_model('auth', 'Permission')
+    UserObjectPermission = apps.get_model('guardian', 'UserObjectPermission')
+    Pipeline = apps.get_model('events', 'Pipeline')
+    ContentType = apps.get_model('contenttypes', 'ContentType')
+
+    # Get group
+    em = User.objects.get(username=USER_NAME)
+
+    perm = Permission.objects.get(codename='populate_pipeline')
+    ctype = ContentType.objects.get_for_model(Pipeline)
+    for pipeline in PIPELINES:
+        pipeline = Pipeline.objects.get(name=pipeline)
+
+        # Create UserObjectPermission
+        gop = UserObjectPermission.objects.create(user=em,
+            permission=perm, content_type=ctype, object_pk=pipeline.id)
+
+
+def remove_permissions(apps, schema_editor):
+    User = apps.get_model('auth', 'User')
+    Permission = apps.get_model('auth', 'Permission')
+    UserObjectPermission = apps.get_model('guardian', 'UserObjectPermission')
+    Pipeline = apps.get_model('events', 'Pipeline')
+    ContentType = apps.get_model('contenttypes', 'ContentType')
+
+    # Get group
+    em = User.objects.get(username=USER_NAME)
+
+    perm = Permission.objects.get(codename='populate_pipeline')
+    ctype = ContentType.objects.get_for_model(Pipeline)
+    for pipeline in PIPELINES:
+        pipeline = Pipeline.objects.get(name=pipeline)
+
+        # Get UserObjectPermission and delete
+        uop = UserObjectPermission.objects.get(user=em,
+            permission=perm, content_type=ctype, object_pk=pipeline.id)
+        uop.delete()
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('ligoauth', '0005_update_emfollow_accounts'),
+        ('guardian', '0005_authorize_raven_users_to_populate_pipelines'),
+    ]
+
+    operations = [
+        migrations.RunPython(add_permissions, remove_permissions),
+    ]