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.ymlfile)- 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
ReceiveAndStoreSendGridEmailfunction- 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 inReceivedSendGridEmailsQueueNameabove)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 forGetReportForDateRangefunction
- 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