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
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.