MJ Actions for triggering MemberJunction integration syncs. Connects the Integration Engine to the MJ Actions + Scheduling system.
This package is registered as a workspace package. Add it as a dependency and import it so the @RegisterClass decorator fires:
// In your bootstrap or entry point:
import '@memberjunction/integration-actions';
Action Name: Run Integration Sync
Triggers a full sync run for a MJ: Company Integration record.
| Parameter | Direction | Type | Required | Description |
|---|---|---|---|---|
CompanyIntegrationID |
Input | string | Yes | ID of the CompanyIntegration to sync |
TriggerType |
Input | string | No | Manual, Scheduled, or Webhook (default: Manual) |
RecordsProcessed |
Output | number | — | Total records processed |
RecordsCreated |
Output | number | — | Records created in MJ |
RecordsUpdated |
Output | number | — | Records updated in MJ |
RecordsDeleted |
Output | number | — | Records deleted in MJ |
RecordsErrored |
Output | number | — | Records that encountered errors |
RecordsSkipped |
Output | number | — | Records that were skipped |
ErrorSummary |
Output | string | — | JSON array of first 10 errors (only when errors exist) |
Result Codes:
SUCCESS — Sync completed without errorsSYNC_COMPLETED_WITH_ERRORS — Sync completed but some records failedMISSING_PARAMETER — Required CompanyIntegrationID not providedUNEXPECTED_ERROR — Unhandled exception during syncMJ: Actions record for Run Integration SyncMJ: Action Params record for CompanyIntegrationIDimport '@memberjunction/integration-actions'; // ensure registration
import { ActionEngine } from '@memberjunction/actions';
const engine = ActionEngine.Instance;
const result = await engine.RunAction({
ActionName: 'Run Integration Sync',
ContextUser: currentUser,
Params: [
{ Name: 'CompanyIntegrationID', Type: 'Input', Value: 'your-ci-id' },
{ Name: 'TriggerType', Type: 'Input', Value: 'Scheduled' },
],
});
For server-side code that doesn't go through the Actions system:
import { IntegrationOrchestrator } from '@memberjunction/integration-engine';
const orchestrator = new IntegrationOrchestrator();
const result = await orchestrator.RunSync(
companyIntegrationID,
contextUser,
'Manual',
(progress) => console.log(`${progress.PercentComplete}%`),
(notification) => console.log(notification.Subject)
);