'full_resolution_time_in_minutes_within_business_hours': t['full_resolution_time_in_minutes_within_business_hours'],
                'agent_wait_time_in_minutes': t['agent_wait_time_in_minutes'],
                'agent_wait_time_in_minutes_within_business_hours': t['agent_wait_time_in_minutes_within_business_hours'],
                'requester_wait_time_in_minutes': t['requester_wait_time_in_minutes'],
                'requester_wait_time_in_minutes_within_business_hours': t['requester_wait_time_in_minutes_within_business_hours'],
                'on_hold_time_in_minutes': t['on_hold_time_in_minutes'],
                'on_hold_time_in_minutes_within_business_hours': t['on_hold_time_in_minutes_within_business_hours'],
                'url': t['url'],
                'datasift_username': t['field_20729302'],
                'category': t['field_20409116'],
                'status': t['status'],
                'jira_ticket_id' : t['field_22679531']
            }
        logging.debug("Database data: {0}".format(ticket_data))
        zendeskDb.execute_query(dbQuery, ticket_data)
    
    # Properly close the connection
    if len(tickets['results']): 
        zendeskDb.commit()
    else: 
        zendeskDb.close()

    logging.info("Completed pulling tickets from Zendesk. End time is: {0}".format(tickets['end_time']))

    logging.info("INCREMENTAL_EXPORT: end_time={0}".format(tickets['end_time']))
    
    zendeskDb.update_job_timestamp("INCREMENTAL_EXPORT", str(tickets['end_time']))
    
    logging.info("Done exporting Zendesk ticket updates.")

	##### Extract all SFDC Accounts #####
	logging.info("Pulling Accounts from Salesforce")
	sfdcQuery = """SELECT Id, Name, Subscription_Plan__c, Support_Package__c, Zendesk__Domain_Mapping__c, 
						  Account_Owner_Name__c, Named_Support_Engineer__c, Technical_Account_Manager__r.Name, 
						  Twitter_Rate_Approval__c, Username_s__c, Account_Status__c, SMB_Enterprise__c,
						  Contracted_MRR__c  
				   FROM Account 
				   WHERE LastModifiedDate > {0}""".format(startTime)
	sfdcResults = sfdc.sfdc_query(sfdcQuery)
	sfdcAccounts = ProcessSfdcAccounts(sfdcResults['results'])


	# If there are no SFDC Account modified since the last run, update the internal 
	# timestamp and exit.
	if len(sfdcAccounts) == 0:
		mysqlDb.update_job_timestamp('SFDC_ACCOUNTS_LAST_MODIFIED', sfdcLastModified)
		logging.info("Updating SFDC_ACCOUNTS_LAST_MODIFIED timestamp.")
		logging.info("No modified SFDC Accounts. Exiting.")
		sys.exit()

	else:
		logging.info("SFDC Account(s) Pulled: {0}".format(len(sfdcAccounts)))


	##### Extract all Zendesk Organizations #####
	try:
		zendeskOrgs = zd.get_all_organizations()

	except Exception, err:
		logging.exception(err)
					print data
					insert = 	"""
								INSERT into account_link 
								(datasift_user_id, datasift_username, datasift_email_address, accountid, accountname)
								VALUES ('%(user_id)s', '%(username)s', '%(email)s', '%(accountid)s', '%(name)s')
								ON DUPLICATE KEY UPDATE datasift_username = '******', datasift_email_address = '%(email)s', accountid = '%(accountid)s', accountname = '%(name)s' 
							 	""" % data
					logging.debug("MySQL Query: {0}".format(insert.encode('utf-8')))
					mysqlDb.connect()
					mysqlDb.execute_query(insert)
					mysqlDb.commit()

					sfdc_update[account['Id']].append(r[0][2]) # Append the username returned

# Update SFDC with the usernames

if len(sfdc_update):
	data = {}
	for sfdc_id, usernames in sfdc_update.items():
		data[sfdc_id] = ", ".join(usernames)
	sfdc.update_sfdc_object('Account', 'Username_s__c', data)
	logging.info("Finished updating SFDC.")
	try:
		sfdcLastModified = sfdc.sfdc_timestamp()
		logging.info("Current Salesforce Timestamp: {0}".format(sfdcLastModified))
	except Exception, err:
		logging.exception(err)
		sys.exit()
	mysqlDb.update_job_timestamp('SFDC_DATASIFT_USER_ID', sfdcLastModified)
	logging.info("Updating SFDC_DATASIFT_USER_ID timestamp.")
        sfdcLastModified = sfdc.sfdc_timestamp()

        # Grab the last time Accounts were successfully updated
        scriptLastRun = mysqlDb.pull_job_timestamp("SFDC_ACCOUNT_OWNERS_LM")

        query = "SELECT Id, Name, OwnerId, Owner.Name, Account_Owner_Name__c FROM Account WHERE LastModifiedDate > {0}".format(
            scriptLastRun
        )
        results = sfdc.sfdc_query(query)
        accountUpdates = processQueryResults(accountOwnerField, results["results"])

        if len(accountUpdates):
            print "Processing {0} Accounts".format(len(accountUpdates))
            sfdc.update_sfdc_object("Account", accountOwnerField, accountUpdates, sf_batchSize)

        mysqlDb.update_job_timestamp("SFDC_ACCOUNT_OWNERS_LM", sfdcLastModified)

        ######################## SFDC Leads ########################
        # Get the last modified timestamp
        sfdcLastModified = sfdc.sfdc_timestamp()

        # Grab the last time Leads were successfully updated
        scriptLastRun = mysqlDb.pull_job_timestamp("SFDC_LEAD_OWNERS_LM")

        query = "SELECT Id, Name, OwnerId, Owner.Name, Lead_Owner_Name__c FROM Lead WHERE LastModifiedDate > {0}".format(
            scriptLastRun
        )
        results = sfdc.sfdc_query(query)
        leadUpdates = processQueryResults(leadOwnerField, results["results"])

        if len(leadUpdates):