CallFreshdeskApiAsync(HttpRequestMessage request, int retriedCount = 0)
{
try
diff --git a/src/Billing/Models/FreshdeskReplyRequestModel.cs b/src/Billing/Models/FreshdeskReplyRequestModel.cs
new file mode 100644
index 0000000000..3927039769
--- /dev/null
+++ b/src/Billing/Models/FreshdeskReplyRequestModel.cs
@@ -0,0 +1,9 @@
+using System.Text.Json.Serialization;
+
+namespace Bit.Billing.Models;
+
+public class FreshdeskReplyRequestModel
+{
+ [JsonPropertyName("body")]
+ public required string Body { get; set; }
+}
diff --git a/src/Billing/appsettings.json b/src/Billing/appsettings.json
index aae25dde0b..0074b5aafe 100644
--- a/src/Billing/appsettings.json
+++ b/src/Billing/appsettings.json
@@ -72,7 +72,10 @@
"webhookKey": "SECRET",
"region": "US",
"userFieldName": "cf_user",
- "orgFieldName": "cf_org"
+ "orgFieldName": "cf_org",
+ "removeNewlinesInReplies": true,
+ "autoReplyGreeting": "Greetings,
Thank you for contacting Bitwarden. The reply below was generated by our AI agent based on your message:
",
+ "autoReplySalutation": "
If this response doesn’t fully address your question, simply reply to this email and a member of our Customer Success team will be happy to assist you further.
Best Regards,
The Bitwarden Customer Success Team
"
},
"onyx": {
"apiKey": "SECRET",