diff --git a/corporate/views/installation_activity.py b/corporate/views/installation_activity.py
index b1a3e6b9d0..fd3917274b 100644
--- a/corporate/views/installation_activity.py
+++ b/corporate/views/installation_activity.py
@@ -255,6 +255,7 @@ def realm_summary_table(export: bool) -> str:
RealmAuditLog.HOW_REALM_CREATOR_FOUND_ZULIP_OPTIONS["other"],
RealmAuditLog.HOW_REALM_CREATOR_FOUND_ZULIP_OPTIONS["ad"],
RealmAuditLog.HOW_REALM_CREATOR_FOUND_ZULIP_OPTIONS["review_site"],
+ RealmAuditLog.HOW_REALM_CREATOR_FOUND_ZULIP_OPTIONS["ai_chatbot"],
):
row["how_realm_creator_found_zulip"] += f": {extra_context}"
elif how_found == RealmAuditLog.HOW_REALM_CREATOR_FOUND_ZULIP_OPTIONS["existing_user"]:
diff --git a/templates/zerver/register.html b/templates/zerver/register.html
index 60fd2dee1d..3c6f3a77b1 100644
--- a/templates/zerver/register.html
+++ b/templates/zerver/register.html
@@ -214,6 +214,7 @@ Form is validated both client-side using jquery-validation (see signup.js) and s
+
{% endif %}
diff --git a/web/src/portico/signup.ts b/web/src/portico/signup.ts
index 6410aaa265..62d0559319 100644
--- a/web/src/portico/signup.ts
+++ b/web/src/portico/signup.ts
@@ -347,6 +347,7 @@ $(() => {
["ad", "how-realm-creator-found-zulip-where-ad"],
["existing_user", "how-realm-creator-found-zulip-which-organization"],
["review_site", "how-realm-creator-found-zulip-review-site"],
+ ["ai_chatbot", "how-realm-creator-found-zulip-which-ai-chatbot"],
]);
const hideElement = (element: string): void => {
diff --git a/zerver/forms.py b/zerver/forms.py
index d40fc8b6c1..996b62e1a3 100644
--- a/zerver/forms.py
+++ b/zerver/forms.py
@@ -203,6 +203,9 @@ class RegistrationForm(RealmDetailsForm):
self.fields["how_realm_creator_found_zulip_review_site"] = forms.CharField(
max_length=100, required=False
)
+ self.fields["how_realm_creator_found_zulip_which_ai_chatbot"] = forms.CharField(
+ max_length=100, required=False
+ )
def clean_full_name(self) -> str:
try:
diff --git a/zerver/models/realm_audit_logs.py b/zerver/models/realm_audit_logs.py
index f9c5704c6a..9d76de7127 100644
--- a/zerver/models/realm_audit_logs.py
+++ b/zerver/models/realm_audit_logs.py
@@ -190,6 +190,7 @@ class AbstractRealmAuditLog(models.Model):
HOW_REALM_CREATOR_FOUND_ZULIP_OPTIONS = {
"existing_user": "At an organization that's using it",
"search_engine": "Search engine",
+ "ai_chatbot": "AI/LLM",
"review_site": "Review site",
"personal_recommendation": "Personal recommendation",
"hacker_news": "Hacker News",
diff --git a/zerver/views/registration.py b/zerver/views/registration.py
index 357d2c9029..931fbffbf6 100644
--- a/zerver/views/registration.py
+++ b/zerver/views/registration.py
@@ -637,6 +637,7 @@ def registration_helper(
"ad": "how_realm_creator_found_zulip_where_ad",
"existing_user": "how_realm_creator_found_zulip_which_organization",
"review_site": "how_realm_creator_found_zulip_review_site",
+ "ai_chatbot": "how_realm_creator_found_zulip_which_ai_chatbot",
}
for option, field_name in extra_context_options.items():
if (