A parser for FNB banking InContact emails or SMSs.
- Fork this repo
- Configure your own github action workflows (see the
./github/workflows/deploy-function-app.yml
file)- Ensure you specify your own value for
AZURE_FUNCTIONAPP_NAME
- Ensure you specify your own value for
- Create an Azure Service Bus namespace, the Basic pricing tier is sufficient since you'll only need to create a Queue
- Deploy your function app and obtain its unique URL for the
ReceiveAndStoreSendGridEmail
function- Be sure to add Application Settings (environment variables) in your function app's "Configuration":
ServiceBus
: Should be a Service Bus connection string to the service bus with an existing queue (with the same name used inReceivedSendGridEmailsQueueName
above)ReceivedSendGridEmailsQueueName
: Queue name it must send/receive messages to/fromSendGridApiKey
: SendGrid API key with permission to Send MailsFromEmailAddress
: From email address that will be used to send weekly reportsToEmailAddress
: Recipient's email address to which weekly reports will be sentFunctionAppBaseUrl
: Base URL of your function itself to be used when generating weekly email containing a link to view the reportFunctionAppReportSecretCode
: Secret code that will be used in generated link forGetReportForDateRange
function
- Be sure to add Application Settings (environment variables) in your function app's "Configuration":
- See the SendGrid documentation on how to set up SendGrid's Inbound Parse
- Use your function app's unique URL as the "Destination URL" of the SendGrid "Inbound Parse" config
Thanks to:
- EagerELK/fnb-incontact-parser for the useful regex patterns
- Jericho/StrongGrid for the logic to parse the webhook content sent from SendGrid
- Handlebars-Net/Handlebars.Net