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

Research Spike: Courier #1531

Open
TylerMatteo opened this issue Aug 12, 2024 · 1 comment
Open

Research Spike: Courier #1531

TylerMatteo opened this issue Aug 12, 2024 · 1 comment
Assignees

Comments

@TylerMatteo
Copy link
Contributor

TylerMatteo commented Aug 12, 2024

This Issue is a research spike to evaluate Courier as the notification vendor to use for the ZAP Listserv project.

Goals

  • Assess documentation and try out product to determine if vendor's features meet requirements for the project
  • Assess vendor developer documentation and report back on completeness and develop experience
  • Document pricing model for vendor at various service tiers

High-level user stories for the project can be found in Figma here.

Research questions

In addition to the user stories, here are some specific questions to answer in your research:

  • How does this product allow users to sign up for notifications about some events but not others? We want to give users the option to sign up for updates on projects in any combination of community districts and/or citywide. What feature from the vendor supports this use case?
  • Does the vendor support SMS (texting) as well as email?
  • Does it automatically support sending users confirmation emails before actually subscribing them or is that something we would have to implement ourselves?
  • Does the product have the concept of a staging (aka "test" or "dev") environment baked in? If not, how would we accomplish that?
  • How does the vendor allow users to unsubscribe from notifications? Does it give users a web page they can visit to manage their subscriptions or only simple "unsubscribe" links in the individual emails?
  • What analytics/observability features does the product offer? Does it show us how often our notifications are actually being open and read?
  • How does templating for emails work? Does the product offer a built-in template builder? Does it allow us to format the emails in code, such as with a templating language like Handlebars?
  • Does the product support "batching" or "digests"? We may want to send notifications to their API in real time but have the notifications be aggregated and sent to users on a set schedule, such as daily.
  • We may want to let users subscribe to get notifications on a different schedules. For example, a user could get an email either daily or weekly with all of the notifications since the last email. Does the product support that out of the box?
  • What security/compliance accreditations does the vendor have? Such as:
    • SOC II
    • FedRamp
    • ISO 27001

Notes

The engineer taking this on is encouraged to create a free account with the vendor if a free tier is offered and play around. You're also encouraged to reach out to the vendor to schedule a demo. Please CC @TylerMatteo on all comms with vendors.

Deliverables

The developer taking this on should document answers to these questions as well as their overall impression of the vendor. Documentation can be put in comments to this Issue or a GH Discussion to be linked to in a comment below.

AE will be presenting this research at Technical Design Review on 8/26. @TylerMatteo will follow up with details on how to incorporate research into the slide deck mid-sprint.

@dhochbaum-dcp
Copy link
Collaborator

dhochbaum-dcp commented Aug 23, 2024

This Issue is a research spike to evaluate Courier as the notification vendor to use for the ZAP Listserv project.

Goals

  • Assess documentation and try out product to determine if vendor's features meet requirements for the project
  • Assess vendor developer documentation and report back on completeness and develop experience
  • Document pricing model for vendor at various service tiers
Free Pro Enterprise
Price Free $.005/notification Contact us
Notifications 10k/mo Unlimited Contact us

High-level user stories for the project can be found in Figma here.

Research questions

In addition to the user stories, here are some specific questions to answer in your research:

  • How does this product allow users to sign up for notifications about some events but not others? We want to give users the option to sign up for updates on projects in any combination of community districts and/or citywide. What feature from the vendor supports this use case?

Courier Preferences gives your users the ability to control which notification topics they receive, through the channels (email, sms, push, dm) of their choice. This feature is designed to give your users control over their communication preferences and to help you comply with data privacy regulations like GDPR and CCPA.

Notification templates that contain similar information can be designated to Subscription Topics. Subscription topics that are related can be grouped into Preference Sections.

You can create and manage these sections and topics in the Preferences Editor. Once configured, you can enable users to set their communication preferences via our hosted Preference Center, Preferences React Components, or the User Preferences API

Caveat:
Channel Delivery Customization — i.e. allowing users to choose specific channels (email, push, SMS) for different topics — is only available to customers on the Business & Enterprise tier.

Documentation link

  • Does the vendor support SMS (texting) as well as email?

Yes (but note the caveat in previous question)

  • Does it automatically support sending users confirmation emails before actually subscribing them or is that something we would have to implement ourselves?

We can send out subscription confirmation emails but I could not find anything specific in the documentation detailing the existence of a click to confirm subscription notification. It seems we may have the capability to build within Courier such a confirmation email. I have reached out to the Courier team for more information.

Reply from Courier: Thanks for reaching out. Courier can send notifications (welcome emails) based on events on your platform through an automation workflow. (My note: Yep, this seems to be what we are looking for)

  • Does the product have the concept of a staging (aka "test" or "dev") environment baked in? If not, how would we accomplish that?

Yes, you can switch environments under Settings between Production and Test. The two environments are isolated from one another, and all the assets within them (templates, brands, tags, categories integrations, API keys, log data, etc.) belong only to that environment.

Any changes made to a template and its associated assets are only applied within the current environment until you migrate the template and overwrite any changes to the corresponding Notification ID and assets in the other environment.

  • How does the vendor allow users to unsubscribe from notifications?

Yes, in addition to the Preferences Center (described in the following section), an unsubscribe link can be added to unsubscribe recipients from the entire subscription topic. The unsubscribe link will redirect a recipient to a Preferences page confirmation that they have been unsubscribed from the entire notification and topic.
preferences-unsubscribe-page 426c0f3 846

  • Does it give users a web page they can visit to manage their subscriptions or only simple "unsubscribe" links in the individual emails?

The notification recipient (end-user) is guided to the Preference Center is a Courier-hosted page that displays Subscription Topics and Preference Sections for end-users to set their communication preferences. This page can be customized in the Preferences Editor.

A recipient can select to opt-in or out of a notification (depending on the subscription topic default state) as well as select the preferred delivery channel for a notification (business-tier feature) from this page.
preferences-hosted-page 121b088 2150

  • What analytics/observability features does the product offer? Does it show us how often our notifications are actually being open and read?

Built-in analytics: stats for notifications (sent, delivered, opened, clicked, errors, etc.) with the ability to filter per channel with customized time windows and date ranges.

Caveat:
This feature is available to Business-tier customers.

  • How does templating for emails work? Does the product offer a built-in template builder? Does it allow us to format the emails in code, such as with a templating language like Handlebars?
    Built in templating using Handlebars
  • Does the product support "batching" or "digests"? We may want to send notifications to their API in real time but have the notifications be aggregated and sent to users on a set schedule, such as daily.

Batching is currently in Public Beta and under active development. The API may change, and this feature is not covered under the Enterprise SLA.

Digests Status: This product is under active development and is available in a Private Beta, please contact Courier support for access.

Scheduling is a feature of Automations that enables scheduling of a notification automation via three methods:

One-time: Set the specific time and date to invoke the automation.
Recurrence: Identify a repeat schedule for the automation to be invoked. This is similar to scheduling a repeat event in a calendar application.
Cron: Similar to Recurrence but with more specificity using crontab expressions.

  • We may want to let users subscribe to get notifications on a different schedules. For example, a user could get an email either daily or weekly with all of the notifications since the last email. Does the product support that out of the box?

Response from Courier: Preferences don't currently support scheduling on a user-by-user basis, but this can be done through automation with a delay or schedule trigger.

  • What security/compliance accreditations does the vendor have? Such as:

Overall thoughts:

**Overall, Courier seems to a have many of the features we are looking for right out of the box. They also support a great many integrations for email and SMS as well as Server side SDKs (node) and Client side SDK (react). The documentation is well organized and easy to follow, Contacting their support team was easy as well (via a chat embedded into their site).

The main issue I have would be the pricing. Certain features/options (such as allowing users to choose specific channels like email or SMS, for different topics) are only available in the business and enterprise tiers for which we would need to set up a call with their sales team to get the pricing options.

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

3 participants