Giveth / impact-graph

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ortto Email Services Migration

divine-comedian opened this issue · comments

Problem

  • Segment is expensive and we’re not getting a justifiable amount of value
  • Segment is unreliable and hard to debug
  • Autopilot Services will be deprecated end of 2023

Proposed Solution

  • Ortto (formerly Autopilot) has a new set of APIs as part of its process of deprecating autopilot(?)
  • Remove Segment from the Giveth stack completely
  • Call APIs directly to Ortto from the Giveth back-end (impact-graph)

API Documentation

https://help.ortto.com/c-49-api-reference

Notion Documentation

https://www.notion.so/giveth/Email-Services-Migration-e9d435fe305d4e23bfb1e9fe783fc4ea?pvs=4

Email Events from the Dapp to Migrate (automated or from admin panel)

  • #1296
  • #1297
  • #1298
  • #1299
  • #1300
  • #1301
  • - Project Updated (Project Owner)
  • - Project Update Reminders related to #932
  • #1302
  • - Project Verification Revoked
  • - Project Verification Rejected
  • - Project Cancelled

The events & their corresponding user journeys can be found in our Autopilot profile - https://ortto.app/ap2-giveth/autopilot/journeys

This should be the reference for their expected trigger conditions and flow

Private Zenhub Image

cc: @ahmadabugosh @MoeNick @jainkrati

Spreadsheet for tracking specs for API params

https://docs.google.com/spreadsheets/d/13wKA4GuYPFLYz7A5CCVH9Yr9hoAiChrBdFzt7vaI1G8/edit#gid=0

Thanks @divine-comedian ! When we roll this out, can we start with just one event as a test (to make sure it has the behavior we want and we understand this new flow)?

Thanks @divine-comedian ! When we roll this out, can we start with just one event as a test (to make sure it has the behavior we want and we understand this new flow)?

Yes of course! I think we can coordinate just a few test events as part of the research phase

Creating Event Triggers with APIs

I had a long discussion with one of their support ppl to understand in more detail what we need to do.

So the first step is to create an activity - this is the action a user does on our application that triggers something in Ortto (an email for example) - This activity needs to include all relevant user data that we might want to store in the CRM or show in the email (name, project name, email etc..)
https://help.ortto.com/a-273-create-a-custom-activity-definition-create

Then when the user triggers a given activity we create the event in our back-end and send it to Ortto:
https://help.ortto.com/a-271-create-a-custom-activity-event-create

This event is captured by a Journey Campaign in Ortto that watches for the given event as a trigger, the user is then entered into the Journey and the rest is handled by Ortto and our Journey logic.

The rep also sent me this help article which has some useful explanations:
https://help.ortto.com/a-233-custom-activities-guide#:~:text=Custom%20activities%20allow%20you%20to,target%20audiences%2C%20reports%20and%20dashboards

@divine-comedian can you send me the Ortto API credentials?

@divine-comedian can you send me the Ortto API credentials?

DM'ed You the details!

@RamRamez @mohammadranjbarz - let me know your progress on the research side - If you like I can start building issues for specific cases when we are feeling ready to plan development.