> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Ironclad OAuth 2.0 connector profile – StackOne setup guide

> Set up the OAuth 2.0 connector profile for Ironclad in StackOne. One-time admin setup required before your users can link Ironclad accounts via Hub.

<Warning>You must be an Ironclad admin to create an OAuth (API) client. Create one under Company Settings → API.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;ironclad_launch_a_new_workflow&#x22;,&#x22;label&#x22;:&#x22;Create A Workflow Synchronously&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.createWorkflows&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_workflows&#x22;,&#x22;label&#x22;:&#x22;List All Workflows&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readWorkflows&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_workflow&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readWorkflows&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_workflow_approvals&#x22;,&#x22;label&#x22;:&#x22;List All Workflow Approvals&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readApprovals&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_update_workflow_approval&#x22;,&#x22;label&#x22;:&#x22;Update Approval Status On A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.updateApprovals&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_turn_history&#x22;,&#x22;label&#x22;:&#x22;Retrieve The Turn History On A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readTurnHistory&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_sign_status&#x22;,&#x22;label&#x22;:&#x22;Retrieve Sign Step Status&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readSignStatus&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_send_signature_request&#x22;,&#x22;label&#x22;:&#x22;Send Signature Request&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.sendSignatureRequests&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_cancel_signature_request&#x22;,&#x22;label&#x22;:&#x22;Cancel Signature Request&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.cancelSignatureRequests&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_workflow_signers&#x22;,&#x22;label&#x22;:&#x22;List All Workflow Signers&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readSignatures&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_workflow_participants&#x22;,&#x22;label&#x22;:&#x22;List All Workflow Participants&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readParticipants&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_cancel_a_workflow&#x22;,&#x22;label&#x22;:&#x22;Cancel A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.cancel&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_pause_a_workflow&#x22;,&#x22;label&#x22;:&#x22;Pause A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.pauseAndResume&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_resume_a_workflow&#x22;,&#x22;label&#x22;:&#x22;Resume A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.pauseAndResume&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_create_comment_on_a_workflow&#x22;,&#x22;label&#x22;:&#x22;Create A Comment On A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.createComments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_comments_in_a_workflow&#x22;,&#x22;label&#x22;:&#x22;List All Comments On A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readComments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_comment_from_a_workflow&#x22;,&#x22;label&#x22;:&#x22;List A Comment From A Specified Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readComments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_update_workflow_metadata&#x22;,&#x22;label&#x22;:&#x22;Update Workflow Metadata&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.updateWorkflows&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_workflow_documents&#x22;,&#x22;label&#x22;:&#x22;Retrieve Documents From A Workflow&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readDocuments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_workflow_document&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Workflow Document&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readDocuments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_workflow_schemas&#x22;,&#x22;label&#x22;:&#x22;List All Workflow Schemas&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readSchemas&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_workflow_schema&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Workflow Schema&#x22;,&#x22;scopes&#x22;:[&#x22;public.workflows.readSchemas&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_records&#x22;,&#x22;label&#x22;:&#x22;List All Records&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.readRecords&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_create_record&#x22;,&#x22;label&#x22;:&#x22;Create A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.createRecords&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_record&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.readRecords&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_replace_record&#x22;,&#x22;label&#x22;:&#x22;Replace A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.updateRecords&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_delete_record&#x22;,&#x22;label&#x22;:&#x22;Delete A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.deleteRecords&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_update_record_metadata&#x22;,&#x22;label&#x22;:&#x22;Update Record Metadata&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.updateRecords&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_records_metadata&#x22;,&#x22;label&#x22;:&#x22;Retrieve Records Schema&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.readSchemas&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_create_attachment_on_a_record&#x22;,&#x22;label&#x22;:&#x22;Create An Attachment On A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.createAttachments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_attachment_on_a_record&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Attachment On A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.readAttachments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_delete_attachment_on_a_record&#x22;,&#x22;label&#x22;:&#x22;Delete An Attachment On A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.deleteAttachments&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_run_an_action_on_a_record&#x22;,&#x22;label&#x22;:&#x22;Run An Action On A Record&#x22;,&#x22;scopes&#x22;:[&#x22;public.records.applyContractAction&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_create_webhook&#x22;,&#x22;label&#x22;:&#x22;Create A Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;public.webhooks.createWebhooks&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_webhooks&#x22;,&#x22;label&#x22;:&#x22;List All Webhooks&#x22;,&#x22;scopes&#x22;:[&#x22;public.webhooks.readWebhooks&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_webhook&#x22;,&#x22;label&#x22;:&#x22;Retrieve A Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;public.webhooks.readWebhooks&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_update_a_webhook&#x22;,&#x22;label&#x22;:&#x22;Update A Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;public.webhooks.updateWebhooks&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_delete_webhook&#x22;,&#x22;label&#x22;:&#x22;Delete A Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;public.webhooks.deleteWebhooks&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_entity_relationship_types&#x22;,&#x22;label&#x22;:&#x22;Get All Entity Relationship Types&#x22;,&#x22;scopes&#x22;:[&#x22;public.entities.readRelationshipTypes&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_entities&#x22;,&#x22;label&#x22;:&#x22;List All Entities&#x22;,&#x22;scopes&#x22;:[&#x22;public.entities.readEntities&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_create_entity&#x22;,&#x22;label&#x22;:&#x22;Create An Entity&#x22;,&#x22;scopes&#x22;:[&#x22;public.entities.createEntities&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_entity&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Entity&#x22;,&#x22;scopes&#x22;:[&#x22;public.entities.readEntities&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_update_an_entity&#x22;,&#x22;label&#x22;:&#x22;Update An Entity&#x22;,&#x22;scopes&#x22;:[&#x22;public.entities.updateEntities&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_delete_entity&#x22;,&#x22;label&#x22;:&#x22;Delete An Entity&#x22;,&#x22;scopes&#x22;:[&#x22;public.entities.deleteEntities&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_list_obligations&#x22;,&#x22;label&#x22;:&#x22;List All Obligations&#x22;,&#x22;scopes&#x22;:[&#x22;public.obligations.readObligations&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_create_obligation&#x22;,&#x22;label&#x22;:&#x22;Create An Obligation&#x22;,&#x22;scopes&#x22;:[&#x22;public.obligations.createObligations&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_get_obligation&#x22;,&#x22;label&#x22;:&#x22;Retrieve An Obligation&#x22;,&#x22;scopes&#x22;:[&#x22;public.obligations.readObligations&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_update_an_obligation&#x22;,&#x22;label&#x22;:&#x22;Update An Obligation&#x22;,&#x22;scopes&#x22;:[&#x22;public.obligations.updateObligations&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_export&#x22;,&#x22;label&#x22;:&#x22;Submit A Request To Generate A New Data Export&#x22;,&#x22;scopes&#x22;:[&#x22;public.export.createReports&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_export_job&#x22;,&#x22;label&#x22;:&#x22;Check Data Export Job Status&#x22;,&#x22;scopes&#x22;:[&#x22;public.export.readReports&#x22;]},{&#x22;id&#x22;:&#x22;ironclad_export_job_download&#x22;,&#x22;label&#x22;:&#x22;Download Data Export File&#x22;,&#x22;scopes&#x22;:[&#x22;public.export.readReports&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Create an OAuth client in Ironclad</h2>

  <p>Register an OAuth client to obtain a Client ID and Client Secret.</p>

  <Steps>
    <Step title="Open API settings">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to Ironclad as an admin and open the API settings.</p>

        <ul>
          <li>Go to Company Settings → API</li>
          <li>Open the <strong>Client Applications</strong> / <strong>OAuth Apps</strong> section</li>
        </ul>
      </div>
    </Step>

    <Step title="Create the client">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Create a new OAuth client application.</p>

        <ul>
          <li>Click <strong>Create Client Application</strong></li>
          <li>Set the <strong>Redirect URI</strong> to `https://api.stackone.com/connect/oauth2/ironclad/callback`</li>
          <li>Select the OAuth scopes the integration needs (see below)</li>
        </ul>
      </div>
    </Step>

    <Step title="Select scopes">
      <div data-guide-step data-guide-scopes="public.entities.createEntities,public.entities.deleteEntities,public.entities.readEntities,public.entities.readRelationshipTypes,public.entities.updateEntities,public.export.createReports,public.export.readReports,public.obligations.createObligations,public.obligations.readObligations,public.obligations.updateObligations,public.records.applyContractAction,public.records.createAttachments,public.workflows.createComments,public.records.createRecords,public.records.deleteAttachments,public.records.deleteRecords,public.records.readAttachments,public.records.readRecords,public.records.readSchemas,public.records.updateRecords,public.webhooks.createWebhooks,public.webhooks.deleteWebhooks,public.webhooks.readWebhooks,public.webhooks.updateWebhooks,public.workflows.cancel,public.workflows.cancelSignatureRequests,public.workflows.createWorkflows,public.workflows.pauseAndResume,public.workflows.readApprovals,public.workflows.readComments,public.workflows.readDocuments,public.workflows.readParticipants,public.workflows.readSchemas,public.workflows.readSignStatus,public.workflows.readSignatures,public.workflows.readTurnHistory,public.workflows.readWorkflows,public.workflows.sendSignatureRequests,public.workflows.updateApprovals,public.workflows.updateWorkflows" data-guide-display-scopes-list="public.entities.createEntities,public.entities.deleteEntities,public.entities.readEntities,public.entities.readRelationshipTypes,public.entities.updateEntities,public.export.createReports,public.export.readReports,public.obligations.createObligations,public.obligations.readObligations,public.obligations.updateObligations,public.records.applyContractAction,public.records.createAttachments,public.workflows.createComments,public.records.createRecords,public.records.deleteAttachments,public.records.deleteRecords,public.records.readAttachments,public.records.readRecords,public.records.readSchemas,public.records.updateRecords,public.webhooks.createWebhooks,public.webhooks.deleteWebhooks,public.webhooks.readWebhooks,public.webhooks.updateWebhooks,public.workflows.cancel,public.workflows.cancelSignatureRequests,public.workflows.createWorkflows,public.workflows.pauseAndResume,public.workflows.readApprovals,public.workflows.readComments,public.workflows.readDocuments,public.workflows.readParticipants,public.workflows.readSchemas,public.workflows.readSignStatus,public.workflows.readSignatures,public.workflows.readTurnHistory,public.workflows.readWorkflows,public.workflows.sendSignatureRequests,public.workflows.updateApprovals,public.workflows.updateWorkflows">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="public.entities.createEntities,public.entities.deleteEntities,public.entities.readEntities,public.entities.readRelationshipTypes,public.entities.updateEntities,public.export.createReports,public.export.readReports,public.obligations.createObligations,public.obligations.readObligations,public.obligations.updateObligations,public.records.applyContractAction,public.records.createAttachments,public.workflows.createComments,public.records.createRecords,public.records.deleteAttachments,public.records.deleteRecords,public.records.readAttachments,public.records.readRecords,public.records.readSchemas,public.records.updateRecords,public.webhooks.createWebhooks,public.webhooks.deleteWebhooks,public.webhooks.readWebhooks,public.webhooks.updateWebhooks,public.workflows.cancel,public.workflows.cancelSignatureRequests,public.workflows.createWorkflows,public.workflows.pauseAndResume,public.workflows.readApprovals,public.workflows.readComments,public.workflows.readDocuments,public.workflows.readParticipants,public.workflows.readSchemas,public.workflows.readSignStatus,public.workflows.readSignatures,public.workflows.readTurnHistory,public.workflows.readWorkflows,public.workflows.sendSignatureRequests,public.workflows.updateApprovals,public.workflows.updateWorkflows" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Cancel A Workflow, Cancel Signature Request, Check Data Export Job Status, Create A Comment On A Workflow, Create A Record, Create A Webhook, Create A Workflow Synchronously, Create An Attachment On A Record, Create An Entity, Create An Obligation, Delete A Record, Delete A Webhook, Delete An Attachment On A Record, Delete An Entity, Download Data Export File, Get All Entity Relationship Types, List A Comment From A Specified Workflow, List All Comments On A Workflow, List All Entities, List All Obligations, List All Records, List All Webhooks, List All Workflow Approvals, List All Workflow Participants, List All Workflow Schemas, List All Workflow Signers, List All Workflows, Pause A Workflow, Replace A Record, Resume A Workflow, Retrieve A Record, Retrieve A Webhook, Retrieve A Workflow, Retrieve A Workflow Document, Retrieve A Workflow Schema, Retrieve An Attachment On A Record, Retrieve An Entity, Retrieve An Obligation, Retrieve Documents From A Workflow, Retrieve Records Schema, Retrieve Sign Step Status, Retrieve The Turn History On A Workflow, Run An Action On A Record, Send Signature Request, Submit A Request To Generate A New Data Export, Update A Webhook, Update An Entity, Update An Obligation, Update Approval Status On A Workflow, Update Record Metadata, Update Workflow Metadata</span>
        </div>

        <p>Grant the scopes required by the actions you will use.</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.entities.createEntities">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.entities.createEntities" title="Copy scope" data-copy="public.entities.createEntities">
                  <span className="connector-guide-scope-copy__label">public.entities.createEntities</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.entities.deleteEntities">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.entities.deleteEntities" title="Copy scope" data-copy="public.entities.deleteEntities">
                  <span className="connector-guide-scope-copy__label">public.entities.deleteEntities</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.entities.readEntities">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.entities.readEntities" title="Copy scope" data-copy="public.entities.readEntities">
                  <span className="connector-guide-scope-copy__label">public.entities.readEntities</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.entities.readRelationshipTypes">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.entities.readRelationshipTypes" title="Copy scope" data-copy="public.entities.readRelationshipTypes">
                  <span className="connector-guide-scope-copy__label">public.entities.readRelationshipTypes</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.entities.updateEntities">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.entities.updateEntities" title="Copy scope" data-copy="public.entities.updateEntities">
                  <span className="connector-guide-scope-copy__label">public.entities.updateEntities</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.export.createReports">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.export.createReports" title="Copy scope" data-copy="public.export.createReports">
                  <span className="connector-guide-scope-copy__label">public.export.createReports</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.export.readReports">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.export.readReports" title="Copy scope" data-copy="public.export.readReports">
                  <span className="connector-guide-scope-copy__label">public.export.readReports</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.obligations.createObligations">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.obligations.createObligations" title="Copy scope" data-copy="public.obligations.createObligations">
                  <span className="connector-guide-scope-copy__label">public.obligations.createObligations</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.obligations.readObligations">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.obligations.readObligations" title="Copy scope" data-copy="public.obligations.readObligations">
                  <span className="connector-guide-scope-copy__label">public.obligations.readObligations</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.obligations.updateObligations">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.obligations.updateObligations" title="Copy scope" data-copy="public.obligations.updateObligations">
                  <span className="connector-guide-scope-copy__label">public.obligations.updateObligations</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.applyContractAction">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.applyContractAction" title="Copy scope" data-copy="public.records.applyContractAction">
                  <span className="connector-guide-scope-copy__label">public.records.applyContractAction</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.createAttachments">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.createAttachments" title="Copy scope" data-copy="public.records.createAttachments">
                  <span className="connector-guide-scope-copy__label">public.records.createAttachments</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.createComments">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.createComments" title="Copy scope" data-copy="public.workflows.createComments">
                  <span className="connector-guide-scope-copy__label">public.workflows.createComments</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.createRecords">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.createRecords" title="Copy scope" data-copy="public.records.createRecords">
                  <span className="connector-guide-scope-copy__label">public.records.createRecords</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.deleteAttachments">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.deleteAttachments" title="Copy scope" data-copy="public.records.deleteAttachments">
                  <span className="connector-guide-scope-copy__label">public.records.deleteAttachments</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.deleteRecords">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.deleteRecords" title="Copy scope" data-copy="public.records.deleteRecords">
                  <span className="connector-guide-scope-copy__label">public.records.deleteRecords</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.readAttachments">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.readAttachments" title="Copy scope" data-copy="public.records.readAttachments">
                  <span className="connector-guide-scope-copy__label">public.records.readAttachments</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.readRecords">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.readRecords" title="Copy scope" data-copy="public.records.readRecords">
                  <span className="connector-guide-scope-copy__label">public.records.readRecords</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.readSchemas">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.readSchemas" title="Copy scope" data-copy="public.records.readSchemas">
                  <span className="connector-guide-scope-copy__label">public.records.readSchemas</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.records.updateRecords">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.records.updateRecords" title="Copy scope" data-copy="public.records.updateRecords">
                  <span className="connector-guide-scope-copy__label">public.records.updateRecords</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.webhooks.createWebhooks">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.webhooks.createWebhooks" title="Copy scope" data-copy="public.webhooks.createWebhooks">
                  <span className="connector-guide-scope-copy__label">public.webhooks.createWebhooks</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.webhooks.deleteWebhooks">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.webhooks.deleteWebhooks" title="Copy scope" data-copy="public.webhooks.deleteWebhooks">
                  <span className="connector-guide-scope-copy__label">public.webhooks.deleteWebhooks</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.webhooks.readWebhooks">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.webhooks.readWebhooks" title="Copy scope" data-copy="public.webhooks.readWebhooks">
                  <span className="connector-guide-scope-copy__label">public.webhooks.readWebhooks</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.webhooks.updateWebhooks">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.webhooks.updateWebhooks" title="Copy scope" data-copy="public.webhooks.updateWebhooks">
                  <span className="connector-guide-scope-copy__label">public.webhooks.updateWebhooks</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.cancel">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.cancel" title="Copy scope" data-copy="public.workflows.cancel">
                  <span className="connector-guide-scope-copy__label">public.workflows.cancel</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.cancelSignatureRequests">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.cancelSignatureRequests" title="Copy scope" data-copy="public.workflows.cancelSignatureRequests">
                  <span className="connector-guide-scope-copy__label">public.workflows.cancelSignatureRequests</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.createWorkflows">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.createWorkflows" title="Copy scope" data-copy="public.workflows.createWorkflows">
                  <span className="connector-guide-scope-copy__label">public.workflows.createWorkflows</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.pauseAndResume">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.pauseAndResume" title="Copy scope" data-copy="public.workflows.pauseAndResume">
                  <span className="connector-guide-scope-copy__label">public.workflows.pauseAndResume</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readApprovals">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readApprovals" title="Copy scope" data-copy="public.workflows.readApprovals">
                  <span className="connector-guide-scope-copy__label">public.workflows.readApprovals</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readComments">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readComments" title="Copy scope" data-copy="public.workflows.readComments">
                  <span className="connector-guide-scope-copy__label">public.workflows.readComments</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readDocuments">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readDocuments" title="Copy scope" data-copy="public.workflows.readDocuments">
                  <span className="connector-guide-scope-copy__label">public.workflows.readDocuments</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readParticipants">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readParticipants" title="Copy scope" data-copy="public.workflows.readParticipants">
                  <span className="connector-guide-scope-copy__label">public.workflows.readParticipants</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readSchemas">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readSchemas" title="Copy scope" data-copy="public.workflows.readSchemas">
                  <span className="connector-guide-scope-copy__label">public.workflows.readSchemas</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readSignStatus">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readSignStatus" title="Copy scope" data-copy="public.workflows.readSignStatus">
                  <span className="connector-guide-scope-copy__label">public.workflows.readSignStatus</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readSignatures">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readSignatures" title="Copy scope" data-copy="public.workflows.readSignatures">
                  <span className="connector-guide-scope-copy__label">public.workflows.readSignatures</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readTurnHistory">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readTurnHistory" title="Copy scope" data-copy="public.workflows.readTurnHistory">
                  <span className="connector-guide-scope-copy__label">public.workflows.readTurnHistory</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.readWorkflows">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.readWorkflows" title="Copy scope" data-copy="public.workflows.readWorkflows">
                  <span className="connector-guide-scope-copy__label">public.workflows.readWorkflows</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.sendSignatureRequests">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.sendSignatureRequests" title="Copy scope" data-copy="public.workflows.sendSignatureRequests">
                  <span className="connector-guide-scope-copy__label">public.workflows.sendSignatureRequests</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.updateApprovals">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.updateApprovals" title="Copy scope" data-copy="public.workflows.updateApprovals">
                  <span className="connector-guide-scope-copy__label">public.workflows.updateApprovals</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="public.workflows.updateWorkflows">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy public.workflows.updateWorkflows" title="Copy scope" data-copy="public.workflows.updateWorkflows">
                  <span className="connector-guide-scope-copy__label">public.workflows.updateWorkflows</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Copy credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Copy the generated credentials.</p>

        <ul>
          <li>Copy the <strong>Client ID</strong></li>
          <li>Copy the <strong>Client Secret</strong> and store it securely (shown once)</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Choose your region</h2>

  <p>Pick the environment that matches your Ironclad account host (shown in your Ironclad URL).</p>

  <ul>
    <li>`na1.ironcladapp.com` → North America (na1)</li>
    <li>`eu1.ironcladapp.com` → Europe (eu1)</li>
    <li>`demo.ironcladapp.com` → Demo</li>
  </ul>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>Ironclad</strong>:

<Steps>
  <Step title="Navigate to Connector Profiles">
    Login to StackOne and navigate to [Connector Profiles](https://app.stackone.com/connector_profiles)
  </Step>

  <Step title="Create New Connector Profile">
    <ul>
      <li>Click <strong>+ Connector Profile</strong></li>
      <li>Search for and select <strong>Ironclad</strong></li>
      <li>Select <strong>Type</strong> as <strong>OAuth 2.0</strong></li>

      <li>
        Fill out the fields using details retrieved from your provider:

        <ul style={{ marginLeft: '20px' }}>
          <li><strong>Client ID</strong></li>
          <li><strong>Client Secret</strong></li>
          <li><strong>Scopes</strong> (Optional)</li>
          <li><strong>Server Domain</strong></li>
        </ul>
      </li>

      <li>(Optional) Select <strong>Actions</strong> to be enabled for this Connector Profile</li>
      <li>Click <strong>Create profile</strong></li>
    </ul>
  </Step>
</Steps>

Congratulations! The new Connector Profile will now show up in your project ready to be used. You can now continue to <a href="/guides/accounts-section#linking-accounts">Link Accounts</a> for <strong>Ironclad</strong>.
