Published at: 2025-10-30
CRM To-Do OA Connector
Connector Capabilities
- Bind CRM accounts to OA accounts.
- Allow Single Sign-On (SSO) from OA to CRM. (SSO from CRM to OA is not supported.)
- Push CRM reminders and CRM To-Do items to the OA system.
1. OA Integration Flow
1.1 Purchase Integration Platform - OA - CRM To-Do OA Connector
Locate the corresponding Products entry and place an order. The configuration access is activated automatically. Configuration is under Integration Platform Management -> Connectors -> CRM To-Do OA.
picture coming soon:
1.2 Account Binding
Go to Integration Platform Management -> Connectors -> CRM To-Do OA -> Account Binding. Use Create or Import to bind ShareCRM employees to OA employees.
picture coming soon:
Automatic Account Binding
https://help.fxiaoke.com/9bfb/c68f/c553/7d6a
1.3 Configure Message-to-OA API
Confirm the customer’s API type. WebService and RESTful calls require slightly different configuration. The following documentation highlights differences and how to configure each.
2. OA Configuration Steps
2.1 Common Parameters
Go to Integration Platform Management -> Connectors -> CRM To-Do OA -> Initial Settings -> Common Parameter Configuration. This section covers Headers parameter settings and result format mapping.
picture coming soon:
(1) Headers: Add rows as needed. Enter key and value, then Save to add.
picture coming soon:
(2) Result format: Keys are prefilled; set values according to the customer’s API response.
picture coming soon:
- codeName: field name for the response code
- msgName: field name for the response message
- dataName: usually left blank
- successCode: the value that indicates success
- xmlJsonField: use “out” for WebService; leave blank for RESTful
Example: For a response where code is “code”, message is “message”, and success is 0, set codeName=code, msgName=message, successCode=0.
picture coming soon:
2.2 Scene Parameters
(1) Go to Integration Platform Management -> Connectors -> CRM To-Do OA -> Initial Settings -> Scene Parameter Settings. Enable and configure scenarios required by the customer. Enabled scenarios push corresponding To-Do messages to the OA system; disabled scenarios do not.

(2) Example: Configure the “Create To-Do” scenario. Click Settings to open the Create To-Do configuration page.

- API Endpoint: The OA endpoint that receives new To-Do requests.
- Method: HTTP method used for the API call.
- Body parameters: Map CRM To-Do fields to the API payload. Use placeholders that start with #. CRM fields and placeholders can be searched on the right. For WebService, Body must be XML; for RESTful, Body must be JSON.
- Edit/Delete To-Do: Replace endpoint, method, and body parameters per the customer’s API docs.
(3) Create To-Do example:
Assume the customer provides the following API doc:
- Method: POST
- URL: http://test.com.cn:909/rest/transmit/fxiaoke/create
- Parameters: (as provided)


Set API endpoint to: http://test.com.cn:909/rest/transmit/fxiaoke/create and Method to POST.
Fill Body with the provided POST content. For WebService, convert to XML. Keep left-side field names and set right-side values to the mapped CRM fields using placeholders. After mapping, the configuration looks like:

3. Validate OA Message Push
Create, edit, or delete a To-Do in ShareCRM, then check the sync record and verify whether the To-Do was successfully pushed in the OA system.

4. Single Sign-On (SSO) Integration
After CRM To-Do messages are pushed to OA, users should be able to click items in OA and SSO into CRM.
Different OA vendors require different steps.
4.1 Seeyon (致远) OA
Select authentication type: Application Registration.

Product registration:

Find the application under “Application Integration”:

Configure user binding:

To-Do integration:

After these steps, the customer must provide the application username and password.
4.1.1 To-Do Push (Seeyon V5auth)
Seeyon OA requires a token. Ask the customer to create a ShareCRM application in Seeyon and supply the credentials. Each API call must include the token in the request header. Seeyon supports script-based URL generation to append token.
Script template:
import groovy.json.JsonSlurper import sun.net.www.protocol.https.DelegateHttpsURLConnection
import javax.crypto.Mac import javax.crypto.spec.SecretKeySpec
public String getToken() { String token = null; String userName = "**"; // Fill with customer-provided username String password = "******"; // Fill with customer-provided password String requestUrl = "http://****/seeyon/rest/token/" + userName + "/" + password; // Change request URL HttpURLConnection connection = (HttpURLConnection) new URL(requestUrl).openConnection(); connection.setRequestMethod("GET"); // Connection timeout: 15000 ms connection.setConnectTimeout(15000); connection.setUseCaches(false); connection.setRequestProperty("Content-Type", "text/xml; charset=UTF-8"); // Read timeout: 60000 ms connection.setReadTimeout(60000); connection.setDoOutput(true); connection.setDoInput(true); connection.connect(); int code = connection.getResponseCode(); if (code == 200) { InputStream inputStream = connection.getInputStream(); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String line; StringBuffer buffer = new StringBuffer(); while ((line = bufferedReader.readLine()) != null) { buffer.append(line); } String str = buffer.toString(); def jsonSlurper = new JsonSlurper() Map map = jsonSlurper.parseText(str) token = map.get("id") } else { throw new RuntimeException("Handshake exception(" + connection.getResponseCode() + ")!" + connection.getResponseMessage()) } return url + "?token=" + token; } url = getToken(); return url;
4.1.2 Single Sign-On (Seeyon)
SSO uses Seeyon portal authentication. Seeyon exposes an OA SSO endpoint:
https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/SeeYon/login/{ei}/{isApp}
e.g: https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/SeeYon/login/89161/true
When OA sends a user token (from clicking a To-Do or ShareCRM app), the platform calls Seeyon’s portal authorization API with that token to retrieve the current user, then redirects the user to the SSO landing page.
4.1.3 Seeyon To-Do -> CRM To-Do and CRM Main Page Redirects
After successful SSO, retrieve the user info and call ShareCRM SSO endpoints to redirect to the target page.
Redirect to CRM To-Do: https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/SeeYon/{apiName}/{dataId}/{ei}/{isApp}
Redirect to CRM main page: https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/SeeYon/login/{ei}/{isApp}
Reference:

{ “registerCode” : “3004”, “taskId” : “#F012”, “title” : “#F054 #F056 #F053”, “senderName” : “#F054”, “state” : “0”, “thirdSenderId” : “#F049”, “thirdReceiverId” : “#F001”, “creationDate” : “#F009”, “content” : “”, “h5url” : “https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/SeeYon/#F037/#F015/714439/true”, “url” : “https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/SeeYon/#F037/#F015/714439/false”, “noneBindingSender”:””, “noneBindingReceiver”:”#F001” }
4.2 Fanwei (泛微) OA
See 1.4 Fanwei OA integration case: https://help.fxiaoke.com/9bfb/c68f/c553/f3c8
Fanwei supports two approaches:
4.2.1 Option 1: Create an Authentication Provider for SSO
See the Authentication Provider link: https://help.fxiaoke.com/9adk/da31/119e
4.2.2 Option 2: OA provides an authentication API; CRM performs SSO
When a user clicks a To-Do link in OA, OA appends extra parameters to the URL. ShareCRM performs authentication; if validated, the user is granted SSO access to the target detail page.
Parameter table:
| Extra Parameter | Description | Notes |
|---|---|---|
| loginid | OA employee ID | |
| stamp | Timestamp | |
| token | SHA-encrypted value | See sample code below |
| secret | Shared secret | Provided by ShareCRM development |
Sample SHA1 utility:
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException;
public class Sha1Util { public static String getSha1(byte[] input) throws NoSuchAlgorithmException { MessageDigest mDigest = MessageDigest.getInstance(“SHA1”); byte[] result = mDigest.digest(input); StringBuffer sb = new StringBuffer(); for (int i = 0; i < result.length; i++) { sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1)); } return sb.toString(); }
/** * Example encryption process */ public static void main(String[] args) { String secret = “d73ec6289574d272c9cc2df5ff70488b”; String loginid = “0001”; String stamp = “1634128095994”; String encryptValue = secret + loginid + stamp; try { String getData = Sha1Util.getSha1(encryptValue.getBytes()); System.out.println(getData); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } }
4.3 Landray (蓝凌) OA
Contact your technical consultant to obtain the authentication API.
4.4 Yunzhijia (云之家) OA
ShareCRM leverages Yunzhijia open API to implement unified SSO for Yunzhijia customers.
-
The customer must create an app in Yunzhijia App Center. See: https://open.yunzhijia.com/opendocs/docs.html#/guide/lightapp/create
-
API configuration page:

(api settings caption: api settings page)

Endpoint example: https://www.yunzhijia.com/gateway/newtodo/open/generatetodo.json?accessToken=

Example payload:
{ “content” : “Submitted by:#F054”, “title” : “#F055”, “itemtitle”:”#F056”, “headImg” : “https://yunzhijia.com/space/c/photo/load?id=5a2f7ad750f8dd7810e79981”, “appId” : “500723908”, “senderId” : “#F049”, “params” :[ { “openId”:”#F001” } ], “url” : “https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/webhook/#F037/#F015/#F028”, “sourceId” : “#F012”, “sync” : true }
-
After the customer completes OA configuration, development may need approval to enable enterprise-level To-Do pushes.
-
When pushing to Yunzhijia, include required URL parameters. Example:
https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/webhook/{apiName}/{dataId}/{tenantId}
eg: https://www.fxiaoke.com/erp/syncdata/open/oa/authorizeWeb/webhook/#F037/#F015/#F028
- Configure the app SSO URL:
https://www.fxiaoke.com/erp/syncdata/open/oa/authorizePortalWebhook/webhook/{ei} // Replace {ei} with the customer’s enterprise ID and the domain with the actual domain.
- From the created Yunzhijia app, obtain appId and appsecret. In a logged-in ShareCRM browser session, open a new window and enter:
https://www.fxiaoke.com/erp/syncdata/oa/permit/webhook/addInfo?appId={real appId}&secret={real secret}
For multiple OA connectors, add dataCenterId parameter where required.

4.5 Huawei WeLink
See Huawei WeLink OA connector case: https://help.fxiaoke.com/9bfb/c68f/c553/a4ab
4.6 Other OA Vendors
Contact your technical consultant to obtain the authentication interface.
5. Integrate Multiple OA Tenants
Create a new connection and then add a separate OA connector. Each connector is configured independently to integrate with additional OA tenants.

6. Retry Rules
Retry on Failure
Retries on exceptions are enabled by default. Configure which synchronization errors/failures trigger retries. You can disable retries if required.

Failure Notifications
Use the Integration Platform Chats service account to push notifications. By default notifications go to the CRM Admin and Integration Admin.
Aggregated notifications: aggregate by 10-minute windows. If the number of exceptions (across all Record Types) is greater than 0, send notification. If retry rules are configured, notify after retries complete.