You need to sign in to do that
Don't have an account?
Dan Hardy
2 way sync
Hi-
I'd like to develop a 2 way sync with Asana and need to think through how to set it up. Does anyone have some tips or a guide on how to set up a 2 way sync? I know there are lots of integration services out there but I'd like to build it from scratch.
For example, when I create a task in Salesforce I'd like to be able to create a corresponding task in Asana and vice versa. How would I check that I'm not replacing an newer version of the task with an older one? Would I check the modified date of each? Stuff like that.
Thanks!
I'd like to develop a 2 way sync with Asana and need to think through how to set it up. Does anyone have some tips or a guide on how to set up a 2 way sync? I know there are lots of integration services out there but I'd like to build it from scratch.
For example, when I create a task in Salesforce I'd like to be able to create a corresponding task in Asana and vice versa. How would I check that I'm not replacing an newer version of the task with an older one? Would I check the modified date of each? Stuff like that.
Thanks!
These are the holistic steps you need to follow
1. Develop a code that is used as a connected app to read / write data in Salesforce, need to do OAuth authentication and authorization (https://developer.salesforce.com/page/Digging_Deeper_into_OAuth_2.0_on_Force.com - use web server flow if possible)
2. Develop a code that does OAuth and Restful for Asana (https://asana.com/developers/documentation/getting-started/auth)
Basically, you are creating 2 functions in java / php or others to retrieve Access token from both Salesforce and Asana for access both the environments
3. Retrieve the Tasks from salesforce using SOQL, and insert (POST) the task into Asana by passing the Task details along with the salesforce ID assigned to the 'external' parameter in asana task.
4. For any updates use the same 'external' {"external":"salesforce_task_id"} ID, which helps you cron the program for every 10 minutes and you will see only new tasks in Asana or the old tasks getting updated.
If you want to do this via node.js you don't need to install a webserver.
you just need to create a serversocket function in node.js and run that on a port for Salesforce and Asana to send the access tokens.
Once the access tokens are retrieved you have to create a separate function that uses both the access tokens to get the task details from both environments and sync em!, you can also cron this function to auto sync.