Docs & Support

Learn about all the Formidable features and get support from our amazing customer success team.

Developer DocumentationAdd-on HooksForms to PDF
frm_pdfs_email_attachment_args

frm_pdfs_email_attachment_args

Heads up!
This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.

Use this hook to allow filtering the args of FrmPdfsAppController:generate_entry_pdf() method when adding email attachments.

Usage

add_filter( 'frm_pdfs_email_attachment_args', 'custom_function', 10, 2 );

Formidable Forms makes advanced site building simple. Launch forms, directories, dashboards, and custom WordPress apps faster than ever before.

Parameters

  • $pdf_args (array): The args of FrmPdfsAppController::generate_entry_pdf() method.
  • $args (array):
    • form (object): Form object.
    • entry (object): Entry object.
    • email_key (string): Email key.
    • settings (array): Email action settings.
    • action_id (int): Email action ID.

Examples

Apply a view for the attached PDF

add_filter( 'frm_pdfs_email_attachment_args', 'add_view_to_attached_pdf', 10, 2 );
function add_view_to_attached_pdf( $pdf_args, $args ) {
	if($args['form']->id ==5) { //change 5 to the ID of the form
         $pdf_args['view'] = 10; // ID of view.
	   $pdf_args['id']   = $args['entry']->id; // Do this to show the detail view, otherwise, it shows the listing view.
   }
   return $pdf_args;
}

Change the attached PDF file name

add_filter( 'frm_pdfs_email_attachment_args', 'change_attached_pdf_file_name', 10, 2 );
function change_attached_pdf_file_name( $pdf_args, $args ) {
	$pdf_args['filename'] = 'stuff';
	return $pdf_args;
}


Attach multiple views as PDF attachment to email notification

add_filter( 'frm_pdfs_email_attachment_args', function( $pdf_args, $args ) {
	if ( 1 != $args['form']->id || ! empty( $pdf_args['view'] ) ) { // Replace 1 with your form ID.
		return $pdf_args;
	}

	$pdf_args['view'] = 70; // Replace 70 with your first attachment view ID.
	$pdf_args['id']   = $args['entry']->id;

	return $pdf_args;
}, 10, 2 );

add_filter( 'frm_notification_attachment', function( $attachments, $form, $args ) {
	if ( 1 != $form->id ) { // Replace 1 with your form ID.
		return $attachments;
	}

	// Attach a second PDF.
	$pdf_args = array(
		'mode'     => FrmPdfsAppController::FILE_MODE,
		'view'     => 139, // Replace 139 with your second attachment view ID.
		'id'       => $args['entry']->id,
		'filename' => '{form_name}-{date format="Y-m-d"}-{key}-2',
	);

	$args['form'] = $form;

	$file_path = FrmPdfsAppController::generate_entry_pdf( $args['entry'], $pdf_args );
	if ( $file_path ) {
		$attachments[] = $file_path;

		add_action(
			'frm_notification',
			function() use ( $file_path ) {
				FrmPdfsAppController::delete_file( $file_path );
			}
		);
	}

	return $attachments;
}, 10, 3 );
Was this article helpful? *

This article may contain affiliate links. Once in a while, we earn commissions from those links. But we only recommend products we like, with or without commissions.

In this article

    We have a small, but amazing team of dedicated people who are committed to helping you achieve your goals and project requirements.


    Copyright © 2026 Strategy11, LLC. Formidable Forms® is a registered trademark Strategy11, LLC.

    Join 400,000+ using Formidable Forms to create form-focused solutions fast. Get Formidable Forms