web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Copilot Studio / Workflow PDF - DOCX Co...
Copilot Studio
Suggested Answer

Workflow PDF - DOCX Conversion Help

(0) ShareShare
ReportReport
Posted on by 6

Hi!

Any help on my issue is appreciated!

I need a solution to convert PDF → docx using Adobe converter (also open to other free tier ideas)

Situation:

- Created Workflow in new Copilot Studio UI to convert user uploaded .PDF file to .docx

- .PDF file uploaded on workflow trigger- Adobe 'Convert PDF to Word' action added - connector setup successful (free tier)

- Flow: Start (Trigger input: File type) → Adobe PDF-Word conversion action

 

Issue: Adobe action fails during workflow test - data corrupt error

 

Investigation:

1. Uploaded .PDF contents (@triggerOutputs()?['body/file/contentBytes']) is base64 encoded

Extract: "value": "JVBERi0xLjUNJeLjz9MN…

2. When entering code in expression mode windows, workflow auto wraps expression in @{}

3. Try file content directly in Adobe
Input: @{triggerOutputs()?['body/file/contentBytes']}
Result: Adobe error → Action 'Convert_PDF_to_Word' failed. The input file appears to be corrupted and cannot be processed.;
Adobe input:
  "parameters": {
    "targetFormat": "DOCX",
    "inputFileName": "PDF.pdf",
    "InputFile0/body": "%PDF-1.5\r%����\r\n321 0 obj\r<</Linearized 1/L 2546...

4. Try base64ToBinary conversion in Adobe
 Input: @{base64ToBinary(triggerOutputs()?['body/file/contentBytes'])}
Result: Adobe error → Action 'Convert_PDF_to_Word' failed. The input file appears to be corrupted and cannot be processed.; 
Adobe input:
  "parameters": {
    "targetFormat": "DOCX",
    "inputFileName": "PDF.pdf",
    "InputFile0/body": "%PDF-1.5\r%����\r\n321 0 obj\r<</Linearized 1/L 254666


AI indicates @{} is converting binary into string - corrupting data, but @{} always auto added

 

Thanks,
Jack

Categories:
I have the same question (0)
  • chiaraalina Profile Picture
    2,425 Super User 2026 Season 1 on at
     
    Can you add a screenshot of your flow?
  • JC-26060919-0 Profile Picture
    6 on at
  • JC-26060919-0 Profile Picture
    6 on at
  • Suggested answer
    Assisted by AI
    sannavajjala87 Profile Picture
    515 Super User 2026 Season 1 on at
    Hi,
     
    You’re very close,  the issue is with how the file content is being passed to the Adobe action.
    In Copilot Studio / Power Automate, file inputs from triggers are already base64 encoded, and most file connectors (including Adobe) expect binary content, not a string. The key point is: even though you see @{} in the UI, that’s normal and doesn’t mean it’s corrupting the file.
    What usually causes this exact “file appears to be corrupted” error is one of these:
    • Passing the content as a string instead of binary
    • Using base64ToBinary() incorrectly when the connector already expects base64
    • Missing proper file wrapping (some connectors expect a file object, not raw content)
    What to try:
    • Don’t over-transform the content — pass it directly from the trigger:
    • triggerOutputs()?['body/file/contentBytes']
    • If that fails, explicitly convert once (not multiple times):
    • base64ToBinary(triggerOutputs()?['body/file/contentBytes'])
    • Make sure the Adobe action input is mapped as a file input field, not a text field
    Also, double-check the trigger behavior in Copilot Studio workflows,  sometimes the file payload differs slightly from standard Power Automate triggers, and adding a quick intermediate “Compose” step can help confirm what’s actually being passed.
    If it still fails, try the same flow in a regular Power Automate cloud flow,  that helps isolate whether it’s a Copilot Studio workflow payload issue.
     
  • JC-26060919-0 Profile Picture
    6 on at
    Hi,
     
    Thanks for response
     
    I tried your proposals:
    Don’t over-transform the content — pass it directly from the trigger - FAIL, corrupt data
    base64ToBinary(triggerOutputs()?['body/file/contentBytes']) - FAIL, corrupt data
     
    Original post shows input data to Adobe using above configurations - in my basic understanding, both show flow is converting binary into string (unless this is UI presentation only)
     
      
    Make sure the Adobe action input is mapped as a file input field, not a text field - I cannot see this option
     
     
    Thanks,
    Jack

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Copilot Studio

#1
Valantis Profile Picture

Valantis 277

#2
11manish Profile Picture

11manish 206

#3
sannavajjala87 Profile Picture

sannavajjala87 156 Super User 2026 Season 1

Last 30 days Overall leaderboard