Penneo Sign Sandbox (Preview)

Penneo transforms complex processes into a seamless, human-centric experience. By integrating digital signatures into automated workflows, our platform makes it effortless to validate who approved what data and when, reducing administrative burdens while ensuring full compliance and security. This connector allows you to send documents for signing.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Penneo Support
URL https://www.support.penneo.com
Connector Metadata
Publisher Penneo Integration
source Swagger
Website https://penneo.com
Privacy policy https://penneo.com/privacy-policy
Categories Productivity

Penneo Sign Sandbox

Penneo transforms complex processes into a seamless, human-centric experience. By integrating digital signatures into automated workflows, our platform makes it effortless to validate who approved what data and when, reducing administrative burdens while ensuring full compliance and security.

Prerequisites

To use this connector, you will need an active Penneo Sandbox account.

Supported Actions

Create a new case file

Creates a new case file in Penneo with the specified documents and signers. The case file will be created in Penneo, and a UUID and a payloadHash will be returned that can be used to check the creation status via the queue status endpoint.

Check job status

Retrieves the current status of a casefile by providing the job UUID and payloadHash. This endpoint is used to poll for job completion status after submitting a case file creation request. The endpoint is rate-limited to 20 requests per minute per uuid-payloadHash combination.

Obtaining Credentials

The connector has been configured to use OAuth with Authorization Code Grant. Users will have to login with their regular credentials when they use the connector.

Getting Started

Creating a Case File

  1. Prepare Your Documents:

    • Convert your PDF documents to base64 encoding
    • Ensure documents are valid PDF files
  2. Configure Signers:

    • Provide signer name and email (required)
    • Optionally provide role, language, signing order, etc.
    • Configure email notifications and custom email templates if needed
  3. Create the Case File:

    • Use the "Create a new case file" action
    • Fill in the case file details:
      • Title
      • Documents (base64 encoded PDFs)
      • Signers (with names and optional details)
      • Optional settings (expiration, language, visibility, etc.)
  4. Check CaseFile creation status:

    • After creating a case file, you'll receive a UUID and payloadHash
    • Use the "Check job status" action to poll for job completion
    • Respect the rate limit of 20 requests per minute per uuid-hash combination

Note: You can check what each field does by checking https://penneo.readme.io/reference/createcasefile.

Known Issues and Limitations

  1. Rate Limiting: The Check job status endpoint is rate-limited to 20 requests per minute per uuid-hash combination. Implement appropriate retry logic with exponential backoff.

  2. Asynchronous Processing: Case file creation is asynchronous. You must use the job status endpoint to check completion rather than expecting immediate results.

  3. Base64 Encoding: Documents must be base64 encoded. Ensure proper encoding to avoid request failures(you can use base64 string function in the Power Platform to encode the binary PDF files).

  4. Sandbox Environment: This connector is configured for the Penneo sandbox environment (sandbox.penneo.com).

  5. Document Size: Large documents may take longer to process. Consider document size limits when encoding to base64.

Deployment Instructions

Run the following commands and follow the prompts:

paconn create --api-def apiDefinition.swagger.json --api-prop apiProperties.json --icon icon.png --script script.csx

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Check job status

Retrieves the current status of an asynchronous job by providing the job UUID and payloadHash. This endpoint is used to poll for job completion status after submitting a case file creation request. The action is rate-limited to 20 requests per minute per uuid-payloadHash combination.

Create a new case file

Creates a new case file in Penneo with the specified documents and signers. The case file will be created asynchronously, and a job UUID and a payloadHash will be returned that can be used to check the creation status via the Check job status action. You can configure signers, documents, signing order, email notifications, access control, and various other case file settings.

Check job status

Retrieves the current status of an asynchronous job by providing the job UUID and payloadHash. This endpoint is used to poll for job completion status after submitting a case file creation request. The action is rate-limited to 20 requests per minute per uuid-payloadHash combination.

Parameters

Name Key Required Type Description
uuid
uuid True uuid

The UUID of the job to check. This is returned when the job is created.

payloadHash
payloadHash True string

The SHA-256 hash of the payload. This is returned when the job is created and is used to verify the request authenticity.

Returns

Body
QueueJob

Create a new case file

Creates a new case file in Penneo with the specified documents and signers. The case file will be created asynchronously, and a job UUID and a payloadHash will be returned that can be used to check the creation status via the Check job status action. You can configure signers, documents, signing order, email notifications, access control, and various other case file settings.

Parameters

Name Key Required Type Description
title
title True string

The case file title.

sendAt
sendAt integer

Timestamp when case file should be sent. Null = immediately

name
name True string

Name of the signer

role
role string

Role for the signer. Allowed: letters, numbers, spaces, comma, underscore, hyphen. Must start with a letter/number and must not end with a space.

email
email email

Signer email. Penneo will handle all communications

failUrl
failUrl uri

Redirect URL after failure

language
language string

Signer language

emailText
emailText string

Custom text for the signature request email. Defaults to company template if not provided.

signOrder
signOrder integer

The signing order. 0 means no enforced order.

successUrl
successUrl uri

Redirect URL after success

emailSubject
emailSubject string

Subject of the signature request email. Defaults to company template if not provided.

reminderInterval
reminderInterval integer

Days before reminder is sent

reminderEmailText
reminderEmailText string

Custom text for the reminder email. Defaults to company template if not provided.

completedEmailText
completedEmailText string

Custom text for the completed email. Defaults to company template if not provided.

reminderEmailSubject
reminderEmailSubject string

Subject of the reminder email. Defaults to company template if not provided.

completedEmailSubject
completedEmailSubject string

Subject of the completed email. Defaults to company template if not provided.

enableInsecureSigning
enableInsecureSigning boolean

If true, signer can use touch signatures (draw, text, image upload)

insecureSigningMethods
insecureSigningMethods array of string

Allowed insecure signing methods. Defaults to company setting if empty.

vatin
vatin string

VAT identification number of signer's company

ssnType
ssnType string

Type of SSN/mobile. Example 'dk:cpr', 'se:pin', 'no:nin', 'be:nrn', 'fi:pic' or 'sms'. Defaults to 'legacy'

activeAt
activeAt integer

Activation timestamp

expireAt
expireAt integer

Expiration timestamp

accessControl
accessControl boolean

If enabled, SSN/VATIN/phone is validated before access

emailFormat
emailFormat string

Defines email format

onBehalfOf
onBehalfOf string

The company/organization that this signer signs on behalf of

storeAsContact
storeAsContact boolean

If true, signer will be stored as contact in Penneo

socialSecurityNumberPlain
socialSecurityNumberPlain string

The signer's SSN or phone number (E.164 format recommended)

expireAt
expireAt integer

Timestamp when the case file will expire. If not provided, defaults apply

language
language string

The case file language, will be applied for every signer that does not have a language set

pdf
pdf True string

Base64 encoded PDF

signable
signable boolean

True creates a signable document. False, the document is added as an attachment and is non signable.

roles
roles array of string

Signer roles allowed to sign this document. Defaults to all signers if empty.

title
title True string

The document title

documentOrder
documentOrder integer

The signing order of the document. Defaults to order provided.

metaData
metaData string

Metadata of the document, searchable in Penneo

sensitiveData
sensitiveData boolean

If true, signers must validate their identity before accessing documents. Disables email attachments for signed documents.

signOnMeeting
signOnMeeting boolean

Specifies if documents should be signed during a meeting.

visibilityMode
visibilityMode integer

0 = Signers see all documents. 1 = Signers see only documents they need to sign.

disableEmailAttachments
disableEmailAttachments boolean

Disables email attachments for signed documents in finalization emails. Overridden if sensitiveData is true.

disableNotificationsOwner
disableNotificationsOwner boolean

If true case file owner will not receive notifications for the case file.

folderId
folderId integer

The folder id where you want to place your casefile

metaData
metaData string

Metadata of the case file, searchable in Penneo

reference
reference string

The reference of the case file, will be shown in the Penneo web application

name
name True string

Name of the recipient

email
email True email

Email of the recipient

storeAsContact
storeAsContact boolean

Signer will be stored as a contact. Defaults to true.

Returns

Definitions

JobResponse

Name Path Type Description
jobs
jobs array of Job

Array of created jobs (typically contains one job)

status
status string

Status of the job creation request

message
message string

Human-readable message about the job creation

Job

Name Path Type Description
uuid
uuid uuid

Unique identifier for the job that can be used to check status

uuid
payload.uuid uuid

UUID of the created case file

bundleUuid
payload.bundleUuid uuid

UUID of the bundle containing the case file

etlVersionUuid
payload.etlVersionUuid uuid

UUID of the ETL version used for processing

organizationUuid
payload.organizationUuid uuid

UUID of the organization that owns this case file

customData
payload.customData object

Additional metadata and context for the job

createdAt
createdAt date-time

ISO 8601 timestamp when the job was created

payloadHash
payloadHash string

SHA-256 hash of the payload, used for verification when checking job status

QueueJob

Name Path Type Description
type
type string

The type of the queue job (e.g., 'casefile_creation')

uuid
uuid uuid

Unique identifier for the job

result
result object

The result of the queue job execution, returned as JSON when the job is completed. Contains the outcome and any relevant data.

jobStatus
jobStatus string

Current status of the job. Possible values 'pending' (waiting to be processed), 'processing' (currently being executed), 'completed' (successfully finished), 'failed' (execution failed), 'aborted_duplicated' (aborted due to duplication)

payload
payload object

The original payload submitted with the job, stored as JSON. Contains the case file data and metadata.

retries
retries integer

The number of times the job has been retried after a failure

createdAt
createdAt date-time

The date and time when the queue job was created

updatedAt
updatedAt date-time

The date and time when the queue job was last updated

maxRetries
maxRetries integer

The maximum number of retries allowed for this job before it is marked as failed

payloadHash
payloadHash string

SHA-256 hash of the payload, used for verification and security purposes

errorMessage
errorMessage string

Error message describing why the job failed, if applicable. Only present when jobStatus is 'failed'.