Published at: 2025-10-30

CRM To-Do OA Connector


Connector Capabilities

  1. Bind CRM accounts to OA accounts.
  2. Allow Single Sign-On (SSO) from OA to CRM. (SSO from CRM to OA is not supported.)
  3. 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.

image

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

image

  • 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:

  1. Method: POST
  2. URL: http://test.com.cn:909/rest/transmit/fxiaoke/create
  3. Parameters: (as provided)

image

image

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:

image

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.

image

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.

image

Product registration:

image

Find the application under “Application Integration”:

image

Configure user binding:

image

To-Do integration:

image

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:

image

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

  1. The customer must create an app in Yunzhijia App Center. See: https://open.yunzhijia.com/opendocs/docs.html#/guide/lightapp/create

  2. API configuration page:

image

(api settings caption: api settings page)

image

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

image

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 }

  1. After the customer completes OA configuration, development may need approval to enable enterprise-level To-Do pushes.

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

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

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

image

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.

image

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.

image

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.

Submit Feedback