Create and send NDAs for signing directly from Slack
With fynk, Slack and Zapier, a structured Slack message turns into a ready to sign contract on its own. Nobody opens the template or types the same details twice.
Video transcript
Click any line to jump thereHi and welcome. In this video I'll show you how to create and send an NDA for signature directly from Slack. To set up this automation you need fynk, Slack, and Zapier to glue these together using a zap. Let's start by creating your NDA template in fynk. open fynk and click on this button to create a new template. I'll give it a name and create it and just paste my text here.
Now I have to create two parties for my NDA. One would be the recipient and the other my company. So let's go to the parties and signatories tab. First I add the recipient. Just give it a name like recipient and save. And now I add another party which is my company as the internal party. And I choose this user to be the signatory as well. By adding a signatory, you can also add the signature block at the end of document by clicking this button.
And if we go back to the document content, we can see that two sets of new fields have been created by fynk. These are the name, address, and signature blocks of each party. So I just drag the signature block of the recipient and place it next to my own signature block. Then what I'm going to do is to replace these static placeholders with the fields that I just created.
I'm just gonna change the name and address of each party with these fields.
Since I have other placeholders that I need to fill with the Slack message that I’ll be sending, I'm going to create a dynamic field for each of these values. For example, for the email address, job title, and of course for the restriction period.
Our template is now complete and all we have to do is to publish it.
Now we have everything that we need to set up the automation in Zapier. But before we do that, I need to explain something about the message that you sent in the Slack. So as we saw in the NDA templates, we need several pieces of information that the automation can collect from our Slack message. In this example, we need seven values, the person's first name, family name, address, job title, company name, and the confidentiality restriction period. And of course their email address. But here's the important thing. You should always keep the values in the same order. For example, if you write the email address and then name and family name, in the next message you should keep the same order. So you cannot first add the name and then email address. This is important because the Zapier doesn't read the message and work out what each line means, it simply counts the lines, separates it, and then map out each of these values with a specific dynamic field that we just created in the Template. So long story short, always keep the same order for your information. It's time to build the Zap. Open Zapier and click on Create to start a new Zap.
The first step is the trigger. This tells Zapier when to start the automation.
Search for a Slack and select it. For the trigger event choose New Message Posted to Channel. Then make sure that your Slack account is connected. Next, in the Configure page, choose the channel that will receive this request. I've created dedicated channel called NDA so I select that one. Because this channel only handles NDA requests, every new message can start the automation. So make sure that you use that channel only for this purpose or if you use it for any other purposes as well, make sure that you create a filter at the next step so that only the messages with the special word or any other filter get through. Before testing the trigger, post an example request of your message in the Slack channel using the The format that I described to you.
So our next step is to split that block of text into seven separate values. So in the next step
Choose formatter and as an action event choose text. In the next window we have to choose split text here.
We can now choose our input from the previous step, which is text. So I just search for text and choose this one.
As a separator, you can use anything you like, for example comma, but here I'm going to use the new line and put it between a bracket and a column. And finally as a segment index choose the last option. which is all as separate fields.
Then we hit continue and test it. You should now see several separate results in the same order as your original Slack message. Now that we have all the values as separate fields, we can now map the party details. Add a new step and choose fynk as the action app. As an action event, choose Create Document from Template. Make sure your account is connected and in the next step
Choose a name for your document. You can choose something like NDA and then from the previous step choose the family name of the recipient. Then choose the template that you have in fynk, in my case is NDAs. And as you do, all of the fields that need to be mapped out will appear here. And if you scroll down here, you can see the dynamic fields that we created. And now I'm going to choose from the previous step the correct value for each of these.
So I just go ahead and map these fields. And at the very end, you have this option to move your document to the signing stage. Now we have to test whether this automation works or not. So I just test it out. Now if I open my fynk, you can see the new NDA in my account set on signing already, which means it's now safe to publish our Zap.
Now that our Zap is up and running, let's try the complete workflow once again. So return to the NDA channel in the Slack. I send a new message using new values but with the same order that we used. Now if we go back to fynk after a few seconds we should be able to see the new NDA. Here's my new NDA completely created only by a message to a Slack channel. You can also adapt this setup to other types of contracts. Choose a different template and the same workflow could create employment offers, freelancer agreements, or vendor contracts. Thanks for watching and I'll see you in the next video.
The goal
Send an NDA for signature by posting one message in Slack. Zapier reads the message, splits it into the values your template needs, and fynk creates the document and moves it straight to signing.
- Build the NDA template in fynk with parties, signatories and dynamic fields
- Agree on one fixed order for the details in the Slack message
- Wire the three-step Zap and publish it
Prepare your NDA template in fynk
Create a new template in fynk and paste in your NDA text. Then:
- Add two parties: the recipient, and your own company as the internal party.
- Pick the user who signs on your side and add the signature blocks to the end of the document.
- Replace the static details in your text, such as the recipient’s name and address, with the party fields fynk created for you.
Anything else the Slack message should carry needs its own dynamic field :
- Email address
- Job title
- Company name
- Restriction period
Publish the template so Zapier can use it.

Agree on the message format
Pick a Slack channel for NDA requests and decide what each message contains. One value per line, always in the same order:
- First name
- Family name
- Address
- Job title
- Company name
- Restriction period
- Email address
The order is the whole trick. Zapier never reads a line to work out what it means, it maps line one to the first field, line two to the second, and so on. Swap two lines and every value lands in the wrong place.

Build the Zap
Open Zapier , click Create, and build three steps:
- Slack: New Message Posted to Channel. Connect your Slack account and pick the channel. Post one example request there before you test, so Zapier has something real to read.
- Formatter by Zapier: Split Text. Take the text from the trigger, use the new line as the separator, and set the segment index to “All as separate fields”. Testing it should return your seven values, in order.
- fynk: Create Document From Template. Name the document, for example “NDA” plus the recipient’s family name, then pick your template. Map each split value to the matching party field or dynamic field , and switch on Move to Signing Stage.
Test it, then send one from Slack
Test the fynk step and open fynk. The NDA should be sitting in the signing stage with the values from your example message. Check that each field picked up the right line, then publish the Zap and switch it on.
Now post a real request in the channel. A few seconds later the NDA is in fynk, filled in and on its way to the recipient, and you can follow it with signature tracking . Nobody opened the template or typed anything twice.
The same workflow runs with any other template: employment offers, freelancer agreements, or vendor contracts.
What makes it fast?
One Slack message, nothing else to open
Colleagues request without a fynk login
Drafted and sent for signature in one go
Swap the template for any contract type
"fynk makes it easy to roll out standardized contract templates across all our projects. Legal reviews are faster and our procurement team can draft agreements without starting from scratch."

Frequently asked questions.
Because Zapier splits the message by line and maps line one to the first field, line two to the second, and so on. It never works out what a line means. Change the order and every value lands in the wrong field.
Yes, but add a filter step right after the trigger so only real requests continue, for example messages containing an agreed keyword. A dedicated channel is simpler if you can have one.
Only if you switch on Move to Signing Stage in the fynk step. Leave it off and the document waits in draft in fynk, so someone can check it before it reaches the recipient.
No. The Zap runs on your fynk connection, so colleagues only need access to the Slack channel. That is what makes this work for teams outside Legal.
Yes. You connect fynk to Zapier with a token from Settings, API integrations, fynk API. If you don't see that option, your account owner can create one for you.
Yes. The workflow does not care what the template is. Point the fynk step at a different template, match the message format to its fields, and the same Zap creates employment offers, freelancer agreements, or vendor contracts.
The split step returns fewer values than the mapping expects, so the run fails or a field stays empty. Zap History in Zapier shows what came through, and the fix is always the message rather than the Zap.
Yes. Only the trigger changes. Swap Slack for Microsoft Teams in the first step and keep the formatter and fynk steps exactly as they are.
Still have questions?
Take control of your agreements. Move your business forward.
Run agreements the way they should run: fast, clear, and on your terms.
No setup headaches
Go live in days, not quarters
No lock-in
Full export anytime
No hidden fees
Unlimited signatures included











