Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transactional e-mails for DIDroom #772

Open
18 of 90 tasks
puria opened this issue Aug 27, 2024 · 4 comments
Open
18 of 90 tasks

Transactional e-mails for DIDroom #772

puria opened this issue Aug 27, 2024 · 4 comments
Assignees

Comments

@puria
Copy link
Member

puria commented Aug 27, 2024

To enhance the user experience on the DIDroom platform, we need to implement a set of transactional emails that cover all key interactions. These emails will keep users informed, guide them through various processes, and ensure smooth operations within the platform. This issue includes the creation of email templates, setting up triggers, and testing each email for functionality and accuracy.

Scope of Work

1. Organization Creation/Invitation

  • Organization Created Email

    • Subject: "Your Organization on DIDroom Has Been Successfully Created!"
    • Content:
      • Draft content confirming successful creation of an organization.
      • Include next steps for account setup and inviting team members.
      • Design and test the email template.
      • Implement trigger upon organization creation.
  • Organization Invitation Email

    • Subject: "You're Invited to Join [Organization Name] on DIDroom!"
    • Content:
      • Draft content for the invitation email.
      • Include instructions on how to accept the invite and set up an account.
      • Design and test the email template.
      • Implement trigger when a user is invited to an organization.

2. Creation/Edit of the Issuance Flow

  • Issuance Flow Created Email

    • Subject: "New Issuance Flow Created Successfully"
    • Content:
      • Draft content for issuance flow creation notification.
      • Provide a summary of the flow and links to manage or edit it.
      • Design and test the email template.
      • Implement trigger upon the creation of an issuance flow.
  • Issuance Flow Edited Email

    • Subject: "Issuance Flow Updated Successfully"
    • Content:
      • Draft content for the issuance flow update notification.
      • Summarize changes made and any potential impacts.
      • Design and test the email template.
      • Implement trigger when an issuance flow is edited.

3. User Registration

  • Welcome Email

    • Subject: "Welcome to DIDroom!"
    • Content:
      • Draft content for welcoming new users.
      • Provide links to important resources, tutorials, and next steps.
      • Design and test the email template.
      • Implement trigger upon successful registration.
  • Registration Confirmation Email

    • Subject: "Your DIDroom Account is Ready!"
    • Content:
      • Draft content for registration confirmation.
      • Include a link to log in and start using the platform.
      • Design and test the email template.
      • Implement trigger when registration is completed.

4. User Invite

  • User Invitation Email

    • Subject: "You're Invited to Join DIDroom"
    • Content:
      • Draft content for user invitation.
      • Provide instructions on accepting the invitation and setting up an account.
      • Design and test the email template.
      • Implement trigger when a user is invited.
  • Invitation Reminder Email

    • Subject: "Reminder: Your Invitation to Join DIDroom"
    • Content:
      • Draft content for the reminder email.
      • Include a link to complete the registration.
      • Design and test the email template.
      • Implement trigger for reminder (e.g., after 7 days of inactivity).

5. Creation/Management of Verification Flows

  • Verification Flow Created Email

    • Subject: "New Verification Flow Created Successfully"
    • Content:
      • Draft content for verification flow creation notification.
      • Include details of the process and links to manage it.
      • Design and test the email template.
      • Implement trigger upon creation of a verification flow.
  • Verification Flow Updated Email

    • Subject: "Verification Flow Updated Successfully"
    • Content:
      • Draft content for verification flow update notification.
      • Summarize changes and their implications.
      • Design and test the email template.
      • Implement trigger when a verification flow is updated.

6. User Onboarding

  • Onboarding Start Email

    • Subject: "Let's Get Started with DIDroom!"
    • Content:
      • Draft content to guide new users through the initial setup.
      • Include steps for setting up a profile, exploring features, and configuring settings.
      • Design and test the email template.
      • Implement trigger when onboarding starts.
  • Onboarding Progress Email

    • Subject: "You're Almost Ready to Go!"
    • Content:
      • Draft content providing a progress update on onboarding.
      • Encourage completion of remaining steps.
      • Design and test the email template.
      • Implement trigger based on onboarding progress milestones.
  • Onboarding Complete Email

    • Subject: "Onboarding Complete - Start Using DIDroom Today!"
    • Content:
      • Draft content for onboarding completion.
      • Suggest next steps, such as creating an issuance flow or inviting team members.
      • Design and test the email template.
      • Implement trigger upon onboarding completion.

7. Management of SSI Microservices

  • Microservice Deployment Email

    • Subject: "New SSI Microservice Deployed"
    • Content:
      • Draft content confirming the deployment of a new SSI microservice.
      • Provide details about its functionality and configuration options.
      • Design and test the email template.
      • Implement trigger upon successful deployment of a microservice.
  • Microservice Update Email

    • Subject: "SSI Microservice Updated"
    • Content:
      • Draft content notifying users of microservice updates.
      • Summarize changes and any required actions.
      • Design and test the email template.
      • Implement trigger when a microservice is updated.
  • Microservice Error/Warning Email

    • Subject: "Action Required: Issue with SSI Microservice"
    • Content:
      • Draft content for errors or warnings related to SSI microservices.
      • Provide details on how to resolve the issue.
      • Design and test the email template.
      • Implement trigger when an error or warning is detected.

Additional Transactional Emails

  • Password Reset Email

    • Subject: "Password Reset Request"
    • Content:
      • Draft content for password reset instructions.
      • Include a secure link to reset the password.
      • Design and test the email template.
      • Implement trigger when a password reset is requested.
  • Account Deactivation Email

    • Subject: "Your DIDroom Account Has Been Deactivated"
    • Content:
      • Draft content confirming account deactivation.
      • Provide information on how to reactivate or contact support.
      • Design and test the email template.
      • Implement trigger when an account is deactivated.
  • Billing/Subscription Notifications

    • Subject: "Your DIDroom Subscription Update"
    • Content:
      • Draft content for billing or subscription-related notifications.
      • Provide details on renewals, payment issues, or changes.
      • Design and test the email template.
      • Implement triggers for billing events (e.g., subscription renewal, failed payment).

Requirements

  1. Email Template Design:

  2. Trigger Mechanism Setup:

    • Implement logic to trigger the appropriate email based on user actions or system events.
    • Ensure triggers are reliable and emails are sent promptly.
  3. Testing:

    • Test each email template for proper rendering across different email clients and devices.
    • Verify that all triggers work correctly and emails are sent under the appropriate conditions.
  4. Localization (Optional):

    • Add support for multiple languages if applicable.
    • Ensure email content is localized and culturally appropriate.

Deliverables

  • Fully functional email templates for each scenario.
  • Properly configured triggers for all emails.
  • Comprehensive testing reports to ensure reliability.
  • Documentation on how to modify or add new transactional emails.

Additional Notes

  • Ensure all emails comply with GDPR and other relevant data protection regulations.
  • Consider implementing analytics to track email open rates and user engagement.
@puria puria changed the title Transactional Emails for DIDroom Transactional e-mails for DIDroom Aug 27, 2024
@micolsalomone micolsalomone self-assigned this Oct 2, 2024
@micolsalomone
Copy link
Collaborator

micolsalomone commented Oct 2, 2024

___this comment is deprecated

There are some additional conditions that apply when an Issuance flow is updated. The email content should be changed based on those conditions.

  1. If only the flow name is updated:
    Send an email notifying only about the flow name update.

  2. If only the encryption or expiration is updated:
    Send an email focused on changes related to encryption or expiration date.

  3. If only the authorization or credential template is updated:
    Notify about changes in the authorization or credential template, focusing only on these changes.

  4. If only the microservices (Authorization Server or Credential Issuer) are updated:
    Dedicated email for microservice updates.

  5. If only the advanced settings (visibility or API access) are updated:
    Send a specific email for these updates.

  6. If multiple attributes are updated at the same time:
    Combine the relevant information in an email that summarizes all the changes made

Same apply to Verification flows:

  1. If only the verification flow name is updated:
    Send an email notifying only about the flow name update.

  2. If only the verification template is updated:
    Notify about changes in the verification template, focusing only on these changes.

  3. If only the relying party is updated:
    Dedicated email for microservice update.

  4. If multiple attributes are updated at the same time:
    Combine the relevant information in an email that summarizes all the changes made.

All HTMLs are inside the original folder, named "Flow Updates": https://cloud.dyne.org/s/drtkGSNPPtzbz9y

You can find this info also on Figma in form of diagrams: https://www.figma.com/board/Z2z4uAFbQY8lnv06bK017z/DIDroom---User-flows---Dyne.org?node-id=649-3056&t=1TElbu1PXftxvkih-1

@micolsalomone
Copy link
Collaborator

Should we provide the username of whom made the changes? @puria

@puria
Copy link
Member Author

puria commented Oct 2, 2024

If we have it why not, better something personal. And maybe better to have the same info that we use for authenticate. So people that use the software once in a while have a functional info to use for the login

@micolsalomone
Copy link
Collaborator

To be added to the list:

  1. Confirm Email (On Registration)
    Email sent to confirm your email address after you register. Includes a link to complete verification and activate your account.
  2. Request Accepted or Rejected by an Organization
    Notification sent to a user to inform them that their request to join an organization has been accepted or rejected. Includes details about the decision.
  3. Role Change Notification
    Email sent to inform a user that their role within the organization has changed. Includes information about the new role and any additional instructions.
  4. User Removed from Organization
    Notification informing a user that they have been removed from an organization. Includes any reasons and suggestions for what to do next.
  5. New Membership (for Admins)
    Email sent to admins to notify them that a new member has been added to the organization. Includes details about the new user and any actions the admin can take.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants