excelerate-america / ea-features

2 stars 0 forks source link

EAX: SendGrid for Campaigns and Transactional Emails #123

Closed lyndon-bot closed 2 years ago

lyndon-bot commented 2 years ago

SendGrid for Campaigns and Transactional Emails

OBJECTIVE

Ability to manage email communication with EAX members, dynamically based off of actions they take inside of our application

OVERVIEW

how do we manage contacts and members? Sendgrid should hold Marketing Contacts, when a member is created that Marketing Contact should migrate to a Member-Contact with the addition of EAID as a custom field

What is the single source of truth for contacts (non-members)? Sendgrid should be the single source of truth for Marketing Contacts

How do we manage Contacts and members in Sendgrid? When a user becomes a member of our app we should use the sendgrid contact api to create a contact or update an existing contact with their EAID as a custom field

TERMS

Required Contact Fields:

Custom Fields:

Add Attributes:

Membership:

REQUIREMENTS

P0

REFERENCE FILES

TASKS

GanttStart: YYYY-MM-DD GanttDue: YYYY-MM-DD

lyndon-bot commented 2 years ago

this will require more discussion. Questions:

Updating Contacts: This should be handled on a case-by-case basis, on user request, we can set up a zendsell customer service request for this

Removing Contacts: We can remove contacts as part of the Bulk Delete Auth User, Utilizing the Email to grab the SendGrid contact, then using the SendGrid API to delete contacts

Types of Emails by Market-Dev-Content Team

lyndon-bot commented 2 years ago

Image

tech-ea commented 2 years ago

@lyndon-bot I added two diagrams I used when i originally started to tackle this issue. EA_UsersContactsMembers.drawio WIP_Diagram_EA_Contact_Flow.drawio [Contact Campaign Builder}(https://drive.google.com/file/d/1ow1MsHKLJMTGiZ48qiccla4SkmLy3xzd/view?usp=sharing)

One hurdle is how do we manage contacts and members? if contact is a non-member we are communicating with and trying to get them to become a member.

the single source of truth for members is the firebase members collections. What is the single source of truth for contacts (non-members)? Is it SendGrid? How do we manage Contacts and members in Sendgrid?

I always felt like we needed a COntacts Db that can be the source of truth outside of sendgrid . drew

tech-ea commented 2 years ago

@lyndon-bot When you get a chance can we go over this feature? This feature was before we started the best practices flow, etc... So I'd like to edit that there is a clear and identifiable what stage this feature is in... I think the feature is essential, and i know you have made progress. I'm thinking that this should be split into another Project with remaining unresolved requirements and a dependency of at least:

davidcjanssens commented 2 years ago

Once you two are in a good place with this one, I would love to have a walk through. As I speak with Roy and Emily, I think shoring up our email world will be important. I think a place we need to get to is for email to sub-groups within an email list (derived from our backend). This "targeting" could be for example ODP service where we might send a slightly different deal to lawyers vs manufacturers vs....

lyndon-bot commented 2 years ago

@tech-ea moved this one a bit back because of ODP, I think this feature it is still in planning, but will be able to take a new look once over the ODP hurdle. Your dependency is correct given resources and time I would scope it to the one you have indicated above. Thanks drew! @davidcjanssens depending on my speed we might be able to have it as a fast follower!

lyndon-bot commented 2 years ago

Dave's Requirments

1) Sales leads and outreach 2) Lead --> Member conversions and welcomes 3) Newsletter management 4) Lead to Service --> Activation and welcomes 5) Service stages/triggers once in 6) Direct lead or member conversation (ie chat flows, phone calls or support requests)