def METHOD_NAME(
        admin_user,
        api,
        applications,
        project_id,
        exporter_cls,
        credentials_path=None,
        offset=None):
    """Query last data from Admin SDK API and export them to the destination.
    Args:
        credentials_path (str): Service account credentials file.
        api (str): GSuite Admin API name to get data from.
        token_path (str): GSuite Admin Token file.
        applications (list): Gsuite Admin Applications to query.
        project_id (str): Project id to export the data to.
        exporter_cls (str): Exporter class to use.
        offset (str): Minutes to look back before the last timestamp
    """
    fetcher = AdminReportsAPIFetcher(admin_user, credentials_path)
    exporter = get_exporter_cls(exporter_cls)(
        project_id=project_id,
        credentials_path=credentials_path)
    for app in applications:
        last_ts = exporter.get_last_timestamp(app)
        if last_ts is None:
            start_time = None
        else:
            start_time = (parser.parse(last_ts) - timedelta(minutes=offset)).isoformat()
        exporter_dest = exporter.get_destination(app)
        logger.info(
            "%s.%s --> %s (%s) [starting new sync] from %s (offset => %s mn)",
            api,
            app,
            exporter_cls,
            exporter_dest,
            start_time,
            offset)
        records_stream = fetcher.fetch(application=app, start_time=start_time)
        for records in records_stream:
            response = exporter.send(records, app, dry=False)
            logger.debug(response)
            logger.info(
                "%s.%s --> %s (%s) [%s new records synced]",
                api,
                app,
                exporter_cls,
                exporter_dest,
                len(records))