Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
+1
person also asked this
people also asked this
Replies
37 replies
Subscribers
5 subscribers
Views
36413 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
Integrations
integration of Appian workflow with DocuSign
rishub
over 7 years ago
Hi All,
We want to integrate Appian workflow with Docu Sign. Is there any plugin exists for that? Our Use case is that we want to email the document to client for sign & they can just sign digitally in email & it can send us signed document back to the workflow & workflow will continue after that.
OriginalPostID-243579
Discussion posts and replies are publicly visible
0
Tyler Criste
Appian Employee
over 7 years ago
No problem. Could you actually try this one more time with the below expression? I double-checked my old rule. Recipients is not a list under envelope and tabs is not a list under signers. I made those single fields instead.
a!toJson(
{
status: "sent",
emailSubject: "Request a signature via email example",
documents: {
{
documentId: "1",
name: "Test_sign_PDF_Template.pdf",
documentBase64: "#31754#"
}
},
recipients: {
signers: {
{
name: "Rishu Bansal",
email: "r.rishubansal@gmail.com",
recipientId: "1",
tabs: {
signHereTabs: {
{
xPosition: "25",
yPosition: "50",
documentId: "1",
pageNumber: "3"
}
}
}
}
}
}
}
)
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
rishub
over 7 years ago
Tyler- Interestingly, I creates CDT & tried to work through that my CDT expression looked like:
[status=sent, emailSubject=Request a signature via email example, documents=[documentId=1, name=Test_sign_PDF_Template.pdf, documentBase64=31754], recipients=[signers=[name=Rishu Bansal, email=r.rishubansal@gmail.com, recipientId=1, tabs=[Signer_tab_SignHereTab=[xPosition=25, yPosition=50, documentId=1, pageNumber=3]]]]]
But I still got the same error:
{ "errorCode": "INVALID_REQUEST_BODY", "message": "The request body is missing or improperly formatted. Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'API_REST.Models.v2.recipients' because the type requires a JSON object (e.g. {\\"name\\":\\"value\\"}) to deserialize correctly.\\r\
To fix this error either change the JSON to a JSON object (e.g. {\\"name\\":\\"value\\"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List<T> that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.\\r\
Path 'recipients', line 1, position 1718938."}
Any Idea?
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
rishub
over 7 years ago
Your above mentioned expression worked Tyler. Thank you so much.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
Tyler Criste
Appian Employee
over 7 years ago
Great!
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
rishub
over 7 years ago
Hey Tyler, can you please check my another post where I am facing issue while querying status but getting error?
forum.appian.com/.../http query issue for docusign
Thanks
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
ankitab918
over 7 years ago
HI I have the same requirement. I am getting the 400 error. Can you please point out if I am missing here something. Please find my code below:
load(
local!authHeader:"X-DocuSign-Authentication",
local!credentials:{"Username":"<useremail>","Password":"<userPassword>","IntegratorKey":"<IntegratorKeyGenerated>"},
local!signers:{"email":"recepientMail","name":"<recepientName>","recipientId":1,"routingOrder":1},
local!documents:{"documentId":419616 ,"name":"Affinity Physician Statement Form","documentBase64":convertdocumenttobase64(419616)},
local!emailDetails:{"emailSubject":"TestEmail","emailBlurb":"ShowsHowTocreateEnvlope","recipients":{"signers":local!signers},"documents":local!documents,"status":"sent"},
local!login:a!httpQuery(
url:"
demo.docusign.net/.../login_information",
headers:{
a!httpHeader(local!authHeader, a!toJson(local!credentials))
}
).result.body,
local!baseUrl:a!fromJson(local!login).loginAccounts.baseUrl,
local!envelopeRequest:bind(
get:
a!httpQuery(
url:local!baseUrl&"/envelopes",
headers:{
a!httpHeader("Accept","application/json"),
a!httpHeader("Content-Type","application/json"),
a!httpHeader(local!authHeader, a!toJson(local!credentials))
/*a!httpHeader(local!authHeader,a!toJson(local!emailDetails))*/
}
),
set:
a!httpWrite(
url:_,
method:"POST",
headers:{
a!httpHeader("Accept","application/json"),
a!httpHeader("Content-Type","application/json"),
a!httpHeader(local!authHeader, a!toJson(local!credentials))
/*a!httpHeader(local!authHeader,a!toJson(local!emailDetails))*/
},
body:{a!toJson(local!emailDetails)}
)
)
)
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
0
rishub
over 7 years ago
Hi Tyler,
I am trying to send the request through CDT & getting error "{ "errorCode": "UNSPECIFIED_ERROR", "message": "Non-static method requires a target."}". Attached is the CDT, can you please guide where I am getting it wrong.
<?xml version="1.0" encoding="utf-8" ?>
<xsd:schema xmlns="urn:appian:example:assocations:one-to-many" elementFormDefault="qualified" targetNamespace="urn:appian:example:assocations:one-to-many" xmlns:xsd="
www.w3.org/.../XMLSchema">
<xsd:complexType name="envelop">
<xsd:sequence>
<xsd:element name="status" nillable="true" type="xsd:string"/>
<xsd:element name="emailSubject" nillable="true" type="xsd:string"/>
<xsd:element maxOccurs="unbounded" name="documents" type="documents" />
<xsd:element maxOccurs="unbounded" name="recipients" type="recipients" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="documents">
<xsd:sequence>
<xsd:element name="documentId" nillable="true" type="xsd:int"/>
<xsd:element name="name" nillable="true" type="xsd:string"/>
<xsd:element name="documentBase64" nillable="true" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="recipients">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="signers" type="signers" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="signers">
<xsd:sequence>
<xsd:element name="name" nillable="true" type="xsd:string"/>
<xsd:element name="email" nillable="true" type="xsd:string"/>
<xsd:element name="recipientId" nillable="true" type="xsd:int"/>
<xsd:element maxOccurs="unbounded" name="tabs" type="tabs" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="tabs">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="signHereTabs" type="signHereTabs" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="signHereTabs">
<xsd:sequence>
<xsd:element name="xPosition" nillable="true" type="xsd:int"/>
<xsd:element name="yPosition" nillable="false" type="xsd:int"/>
<xsd:element name="documentId" nillable="false" type="xsd:int"/>
<xsd:element name="pageNumber" nillable="true" type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
Thanks
Rishu
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
<