e-signature
Penneo
Connect Penneo to Elaichi and hand every teammate a governed MCP endpoint — 22 tools ready to call from Claude, Cursor, or any MCP client, clamped by roles, restrictions, and an audit log.
AI tools
Penneo tools for your AI agents
22 tools are ready to mint as an MCP endpoint the moment you connect Penneo — governed by the same roles, restrictions, and audit log as everything else in Elaichi.
create_a_penneo_oauth
Exchange credentials for a Penneo access token using the authorization code, refresh token, or API keys grant. Returns: grant_type. Required: grant_type, client_id, client_secret.
delete_a_penneo_oauth_by_id
Revoke a Penneo refresh token, rendering it permanently invalid. Returns an empty 200 response on success regardless of whether the token existed or was already invalid. Required: token.
list_all_penneo_oauth
Initiate the Penneo OAuth 2.0 authorization flow by redirecting the user's browser to Penneo's authorization endpoint. Returns a 302 redirect to the registered redirect_uri with an authorization code appended as a query parameter. Required: response_type, redirect_uri, client_id, code_challenge.
list_all_penneo_version
Get Penneo API version information for the running app. Returns: language, additionalSignersConfig.
list_all_penneo_casefile_answers
List all submission answers for a penneo casefile. Returns answer records whose fields are specific to the casefile's form question schema defined in penneo; the response shape is form-schema-specific and cannot be enumerated from the API reference — consult the upstream penneo Collect docs for the field-level breakdown. Required: casefile_id.
list_all_penneo_casefile_files
List files attached to a penneo casefile by casefile id. Returns a list of file metadata objects; the available source documents the response as file metadata without enumerating individual fields beyond the universal identifiers id, created_at, and updated_at. Required: casefile_id.
list_all_penneo_forms
List penneo forms with optional status filtering and sorting. Returns: id, language, additionalSignersConfig, createdAt, updatedAt.
get_single_penneo_form_by_id
Get a single penneo form by id, including its sections and signer configuration. Returns: id, language, additionalSignersConfig, createdAt, updatedAt. Required: id.
create_a_penneo_form
Create a new penneo form with sections and input fields. Returns: id, language, additionalSignersConfig, createdAt, updatedAt. Required: language, sections.
update_a_penneo_form_by_id
Update an existing penneo form by id. If the form is in DRAFT status, updates the existing draft; if ACTIVE, creates a new DRAFT version. Returns: id, language, additionalSignersConfig, createdAt, updatedAt. Required: id, language, sections.
delete_a_penneo_form_by_id
Archive a penneo form by id, setting its status to ARCHIVED. Returns an empty 200 response on success. Required: id.
update_a_penneo_form_version_by_id
Update a specific version of a Penneo form with sections and input fields. If the version is DRAFT, updates the existing draft; if ACTIVE, creates a new DRAFT version. Returns the updated form object including language and additionalSignersConfig. Required: external_id, version, language, sections.
create_a_penneo_form_request
Create a prefilled form request in Penneo for a specified form, with pre-populated field values. Returns a 200 success response when the form request is created. Required: form_id, answers.
list_all_penneo_form_request_answers
List all submitted answers for a specific Penneo form request. Returns the submission data object; the field structure is form-specific and depends on the form's field definitions in Penneo. Required: form_id, id.
list_all_penneo_form_submissions
List Penneo form submissions for a specific form. Returns: id, created_at, grant_type. Required: form_id. Supports filtering by completedAfter and completedBefore ISO-8601 UTC datetimes.
list_all_penneo_form_submission_answers
List all answers for a Penneo form submission. Returns: id, grant_type. Required: form_id, id.
create_a_penneo_casefile
Create a new Penneo case file with documents and signers via a multipart/form-data POST. PDF file uploads are supported as part of the request body. Processing is asynchronous; the returned job reference can be used to poll progress via the Penneo Queue Status Check endpoint. Returns: jobs, status, message. Required: data, files.
create_a_penneo_job_status
Check the status of an asynchronous Penneo case file creation job by polling with its UUID and payload hash. Returns: uuid, result, payload, retries, createdAt, jobStatus, updatedAt, maxRetries, payloadHash, errorMessage. Required: uuid, payloadHash.
create_a_penneo_form_version_archive
Archive a specific version of a penneo form, allowing management of existing form versions without affecting the currently published version. Returns an empty 200 response on success. Required: external_id, version.
create_a_penneo_form_version_publish
Publish a specific version of a Penneo form, making it the active published version. Returns a 200 response on success. Required: external_id, version.
create_a_penneo_form_version_restore
Restore a penneo form to a specific previous version. Returns a 200 response on success. Required: external_id, version.
create_a_penneo_form_publish
Publish a Penneo form by its external ID to make it available for end-users. Returns: id, language, additionalSignersConfig, createdAt, updatedAt, grant_type. Required: external_id.
How it works
From Penneo account to governed MCP endpoint
Connect
Link a Penneo account through Elaichi's hosted connect flow. Credentials are vaulted — nobody, including the AI, ever sees them.
Compose
The connection becomes a toolbox instantly. Curate which Penneo tools are exposed, rename them, or freeze arguments.
Mint
Mint a personal MCP endpoint on that toolbox and paste it into Claude, Cursor, or any MCP client — governed by roles, restrictions, and audit logs.
Give every teammate a governed MCP server
Start a 14-day Gold trial — connect a product, curate a toolbox, and paste an endpoint into Claude or Cursor in minutes.