Skip to main content

Adobe Sign Widgets MCP Server

Create a powerful Model Context Protocol (MCP) server for Adobe Sign Widgets in minutes with our AI Gateway. This guide walks you through setting up embedded signing experiences with enterprise-grade security and instant OAuth authentication.

About Adobe Sign Widgets API

Adobe Sign Widgets enable embedded signing experiences and reusable web forms that can be placed on websites, portals, or applications. The Widgets API provides programmatic access to create, manage, and track these embeddable signing components.

Key Capabilities

  • Embedded Signing: In-app signature experiences
  • Web Forms: Reusable signing forms
  • Widget Templates: Pre-configured widgets
  • Customization: Branding and styling
  • Analytics: Widget performance tracking
  • Access Control: Permission management
  • Mobile Support: Responsive widgets
  • Integration: Seamless embedding

API Features

  • REST API v6: Widget operations
  • Widget Creation: Form builder API
  • Embedding Options: Multiple methods
  • OAuth 2.0: Secure authentication
  • Completion Callbacks: Event handling
  • Custom Fields: Dynamic forms
  • Conditional Logic: Smart forms
  • Bulk Management: Multiple widgets

What You Can Do with Adobe Sign Widgets MCP Server

The MCP server transforms Adobe Sign Widgets API into a natural language interface, enabling AI agents to:

Widget Creation

  • Form Widgets

    • "Create employee onboarding widget"
    • "Build customer signup form"
    • "Design vendor registration widget"
    • "Set up consent form"
  • Widget Configuration

    • "Enable counter-signatures"
    • "Require email verification"
    • "Set completion redirect"
    • "Configure auto-reminders"
  • Field Setup

    • "Add required text fields"
    • "Insert signature blocks"
    • "Create checkbox groups"
    • "Configure date pickers"

Widget Customization

  • Branding Options

    • "Apply company branding"
    • "Set custom colors"
    • "Upload logo image"
    • "Configure fonts"
  • Layout Design

    • "Create multi-column layout"
    • "Add section headers"
    • "Insert help text"
    • "Configure field spacing"
  • Mobile Optimization

    • "Enable responsive design"
    • "Optimize for tablets"
    • "Configure touch targets"
    • "Test mobile experience"

Embedding Management

  • Embed Codes

    • "Generate JavaScript embed"
    • "Create iframe code"
    • "Build direct link"
    • "Configure popup widget"
  • Integration Options

    • "Embed in website"
    • "Add to portal"
    • "Include in email"
    • "Share via QR code"
  • Hosting Settings

    • "Set allowed domains"
    • "Configure CORS"
    • "Enable SSL only"
    • "Restrict referrers"

Form Management

  • Field Configuration

    • "Add conditional fields"
    • "Set validation rules"
    • "Configure calculations"
    • "Create field dependencies"
  • Data Collection

    • "Map to CRM fields"
    • "Set default values"
    • "Configure auto-fill"
    • "Enable data prefill"
  • Submission Handling

    • "Route to recipients"
    • "Trigger workflows"
    • "Send confirmations"
    • "Update systems"

Signer Experience

  • Identity Options

    • "Enable social login"
    • "Configure SSO"
    • "Set guest access"
    • "Require authentication"
  • Signing Process

    • "Guide signer flow"
    • "Show progress bar"
    • "Enable save draft"
    • "Configure timeouts"
  • Completion Actions

    • "Show thank you page"
    • "Redirect to URL"
    • "Download document"
    • "Send to email"

Widget Analytics

  • Performance Metrics

    • "Track completion rate"
    • "Monitor abandonment"
    • "Measure time to sign"
    • "Analyze drop-off points"
  • Usage Statistics

    • "Count total views"
    • "Track unique signers"
    • "Monitor by source"
    • "Segment by device"
  • Conversion Tracking

    • "Set up goals"
    • "Track funnel steps"
    • "Monitor A/B tests"
    • "Calculate ROI"

Security & Compliance

  • Access Control

    • "Set widget permissions"
    • "Configure IP restrictions"
    • "Enable time limits"
    • "Manage user access"
  • Data Protection

    • "Enable encryption"
    • "Configure retention"
    • "Set privacy options"
    • "Manage consent"
  • Compliance Features

    • "Enable audit trail"
    • "Configure compliance mode"
    • "Set retention policies"
    • "Track access logs"

Widget Lifecycle

  • Version Management

    • "Create widget version"
    • "Archive old versions"
    • "Clone successful widgets"
    • "Track version history"
  • Status Control

    • "Activate widget"
    • "Pause temporarily"
    • "Schedule availability"
    • "Set expiration date"
  • Maintenance

    • "Update widget fields"
    • "Refresh branding"
    • "Fix validation issues"
    • "Optimize performance"

Prerequisites

  • Access to Cequence AI Gateway
  • Adobe Sign Business or Enterprise plan
  • Widget creation permissions
  • OAuth application credentials

Step 1: Create Adobe Sign Integration

1.1 Access Adobe Sign Admin

  1. Log in to Adobe Sign as administrator
  2. Go to Account Widgets
  3. Navigate to API Applications
  4. Select Create Application

1.2 Configure OAuth Application

  1. Fill in application details:
    • Application Name: "AI Gateway Widgets MCP"
    • Application Display Name: "Widget Manager"
    • Redirect URI:
      https://auth.aigateway.cequence.ai/v1/outbound/oauth/callback

1.3 Set Application Scopes

Select required scopes:

  • widget_read - View widgets
  • widget_write - Create/modify widgets
  • library_read - Access templates
  • library_write - Manage templates
  • user_read - User information
  • agreement_read - View submissions
  • agreement_write - Manage submissions

1.4 Get Credentials

  1. After creation, view application
  2. Copy Client ID
  3. Copy Client Secret
  4. Note the Base URI for your region

Step 2-4: Standard Setup

Follow standard steps to access AI Gateway, find Adobe Sign Widgets API, and create MCP server.

Step 5: Configure API Endpoints

  1. Base URL: Your regional API endpoint
    • Example: https://api.na1.adobesign.com/api/rest/v6
  2. Select Widgets endpoints:
    • Widgets endpoints
    • Forms endpoints
    • Submissions endpoints
  3. Click Next

Step 6: MCP Server Configuration

  1. Name: "Adobe Sign Widgets"
  2. Description: "Embedded signing and web forms"
  3. Configure production mode
  4. Click Next

Step 7: Configure Authentication

  1. Authentication Type: OAuth 2.0
  2. Authorization URL:
    https://secure.{region}.adobesign.com/public/oauth/v2
  3. Token URL:
    https://api.{region}.adobesign.com/oauth/v2/token
  4. Enter Client ID and Secret
  5. Select required scopes

Available Adobe Sign Widgets OAuth Scopes

Widget Management

  • widget_read:self

    • View own widgets
    • Access widget details
    • Check widget status
    • View submissions
  • widget_write:self

    • Create widgets
    • Modify own widgets
    • Update configurations
    • Manage fields

Extended Permissions

  • widget_read:group

    • View group widgets
    • Access shared widgets
    • Monitor team widgets
  • widget_write:group

    • Manage group widgets
    • Create team widgets
    • Update shared widgets
  • widget_read:account

    • Full widget visibility
    • Administrative access
    • Compliance monitoring

For Widget Users:

widget_read:self
widget_write:self
library_read:self
agreement_read:self

For Widget Administrators:

widget_read:account
widget_write:account
library_read:account
library_write:account
agreement_read:account
user_read:account

Step 8-10: Complete Setup

Configure security, choose deployment, and deploy.

Using Your Adobe Sign Widgets MCP Server

With Claude Desktop

{
"servers": {
"adobe-sign-widgets": {
"url": "your-mcp-server-url",
"auth": {
"type": "oauth2",
"client_id": "your-client-id"
}
}
}
}

Natural Language Commands

  • "Create customer onboarding widget"
  • "Generate embed code for signup form"
  • "Show widget completion statistics"
  • "Update widget branding to match website"
  • "List all active widgets"

API Integration Example

// Initialize MCP client
const mcpClient = new MCPClient({
serverUrl: 'your-mcp-server-url',
auth: {
type: 'oauth2',
token: 'access-token'
}
});

// Create a widget
const widget = await mcpClient.adobeSign.widgets.create({
name: 'Customer Agreement Form',
widgetParticipantSetInfo: {
memberInfos: [{
email: '',
role: 'SIGNER'
}],
role: 'SIGNER'
},
fileInfos: [{
libraryDocumentId: 'template-123'
}],
widgetCustomizationInfo: {
showPersonalizeOption: true,
showThankYouOption: true
},
widgetCompletionInfo: {
redirectUrl: 'https://company.com/thank-you',
redirectDelay: 5,
redirectMessage: 'Thank you for signing!'
},
widgetAuthInfo: {
authenticationMethod: 'EMAIL',
inheritAuthenticationMethod: false
},
state: 'ACTIVE'
});

// Configure widget fields
const formFields = await mcpClient.adobeSign.widgets.configureFields({
widgetId: widget.id,
formFields: [
{
name: 'customerName',
fieldType: 'TEXT',
required: true,
displayLabel: 'Full Name',
defaultValue: '',
validation: {
pattern: '^[a-zA-Z\\s]+$',
errorMessage: 'Please enter a valid name'
}
},
{
name: 'email',
fieldType: 'EMAIL',
required: true,
displayLabel: 'Email Address',
validation: {
errorMessage: 'Please enter a valid email'
}
},
{
name: 'company',
fieldType: 'TEXT',
required: false,
displayLabel: 'Company Name',
conditionalLogic: {
showIf: {
field: 'accountType',
equals: 'business'
}
}
},
{
name: 'signature',
fieldType: 'SIGNATURE',
required: true,
displayLabel: 'Your Signature'
},
{
name: 'agreementDate',
fieldType: 'DATE',
required: true,
displayLabel: 'Agreement Date',
defaultValue: 'TODAY'
}
]
});

// Apply custom branding
await mcpClient.adobeSign.widgets.updateBranding({
widgetId: widget.id,
branding: {
primaryColor: '#1976d2',
secondaryColor: '#ffffff',
companyLogo: 'https://company.com/logo.png',
headerText: 'Welcome to Our Service',
footerText: '2025 Company Name',
fontFamily: 'Arial, sans-serif',
customCSS: `
.widget-container {
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.submit-button {
background: linear-gradient(45deg, #1976d2, #2196f3);
}
`
}
});

// Generate embed codes
const embedCodes = await mcpClient.adobeSign.widgets.getEmbedCodes({
widgetId: widget.id
});

// JavaScript embed code
const jsEmbed = `
<div id="adobe-sign-widget"></div>
<script src="${embedCodes.javascriptUrl}"></script>
<script>
AdobeSign.Widget.init({
widgetId: '${widget.id}',
containerId: 'adobe-sign-widget',
onComplete: function(result) {
console.log('Widget completed:', result);
// Handle completion
},
onError: function(error) {
console.error('Widget error:', error);
// Handle error
}
});
</script>
`;

// iFrame embed code
const iframeEmbed = `
<iframe
src="${embedCodes.url}"
width="100%"
height="600"
frameborder="0"
style="border: 1px solid #ccc; border-radius: 4px;"
allow="geolocation; microphone; camera"
></iframe>
`;

// Create mobile-optimized widget
const mobileWidget = await mcpClient.adobeSign.widgets.create({
name: 'Mobile Quick Sign',
fileInfos: [{
libraryDocumentId: 'mobile-template-456'
}],
widgetMobileInfo: {
isMobileOptimized: true,
mobileTargetDevices: ['PHONE', 'TABLET'],
showMobilePreview: true
},
widgetCustomizationInfo: {
showProgressBar: true,
showSaveButton: true,
autoSaveInterval: 30
}
});

// Set up conditional logic
const conditionalWidget = await mcpClient.adobeSign.widgets.create({
name: 'Dynamic Application Form',
conditionalFieldRules: [
{
id: 'employment-rule',
condition: {
field: 'employmentStatus',
operator: 'equals',
value: 'employed'
},
actions: [
{
type: 'show',
fields: ['employerName', 'jobTitle', 'salary']
},
{
type: 'require',
fields: ['employerName']
}
]
},
{
id: 'income-rule',
condition: {
field: 'annualIncome',
operator: 'greaterThan',
value: '50000'
},
actions: [
{
type: 'show',
fields: ['investmentQuestions']
}
]
}
]
});

// Get widget analytics
const analytics = await mcpClient.adobeSign.widgets.getAnalytics({
widgetId: widget.id,
dateRange: {
start: '2025-01-01',
end: '2025-01-31'
},
metrics: [
'views',
'starts',
'completions',
'abandonments',
'averageTimeToComplete'
]
});

// Clone successful widget
const clonedWidget = await mcpClient.adobeSign.widgets.clone({
sourceWidgetId: widget.id,
name: 'Customer Agreement Form - Version 2',
modifications: {
state: 'DRAFT',
widgetCompletionInfo: {
redirectUrl: 'https://company.com/thank-you-v2'
}
}
});

// Schedule widget availability
await mcpClient.adobeSign.widgets.schedule({
widgetId: widget.id,
schedule: {
startDate: '2025-02-01T00:00:00Z',
endDate: '2025-03-31T23:59:59Z',
timezone: 'America/New_York',
availableDays: ['MON', 'TUE', 'WED', 'THU', 'FRI'],
availableHours: {
start: '09:00',
end: '17:00'
}
}
});

Common Use Cases

Customer Onboarding

  • Account opening forms
  • Service agreements
  • Terms acceptance
  • Identity verification

HR Processes

  • Job applications
  • Employee forms
  • Policy acknowledgments
  • Benefits enrollment

Sales Documents

  • Quote acceptance
  • Order forms
  • Contract signing
  • Payment authorization

Compliance Forms

  • Consent forms
  • Disclosure agreements
  • Regulatory filings
  • Audit confirmations

Security Best Practices

  1. Widget Security:

    • Use HTTPS only
    • Implement domain restrictions
    • Enable authentication
    • Monitor access logs
  2. Data Protection:

    • Encrypt form data
    • Secure field values
    • Implement retention
    • Audit submissions
  3. Access Control:

    • Limit widget permissions
    • Control embedding
    • Monitor usage
    • Track completions

Troubleshooting

Common Issues

  1. Embedding Errors

    • Verify domain whitelist
    • Check CORS settings
    • Validate SSL certificates
    • Review embed code
  2. Submission Failures

    • Check required fields
    • Verify validation rules
    • Test authentication
    • Monitor API limits
  3. Display Issues

    • Test responsive design
    • Verify CSS conflicts
    • Check browser compatibility
    • Validate field layout

Getting Help